Skip to main content

Classes vs Struct

  • Classes vs Struct

  • “Regras”

    • CONSIDERE definir uma estrutura em vez de uma classe se as instâncias do tipo forem pequenas e geralmente de curta duração ou forem incorporadas a outros objetos.
      • Quando o objeto tiver uma vida curta
    • EVITE definir uma estrutura, a menos que o tipo tenha todas as seguintes características:
      • Ele representa logicamente um único valor, semelhante aos tipos primitivos ( intdouble, etc.).
      • Tem um tamanho de instância inferior a 16 bytes.
      • É imutável.
      • Não terá que ser encaixotado com freqüência.
  • Structs não podem herdar

  • Não possui construtor vazio. Você é obrigado a ter construtores com parâmetros

  • No C# 11, temos uma nova propriedade ao declarar uma struct chamada default

    Untitled

    • Como temos que criar um construtor preenchido do struct por obrigação, o default inseri os valores padrão de cada tipo, ou seja, se for um objeto manda nulo e se for uma string manda vazio