C# 11 - Campos pré-definidos em Structs
Hoje veremos o novo recurso do C# 11 : Auto-Defaulted fields ou campos pré-definidos em structs. |
Antes do C# 11, todas as propriedades de uma Struct no construtor precisavam ser inicializadas ou correriam o risco de um erro de compilação.
Antes do C# 11, se você declarasse uma Struct e tivesse um Construtor, precisaria atribuir cada campo :
Um struct compartilha todos os recursos de um tipo de classe. Assim como no tipo
de classe, podemos declarar campos no tipo struct. Antes do C# 11, era
obrigatório inicializar explicitamente todos os campos dentro do construtor (somente
se um construtor for declarado na estrutura).
O exemplo de código abaixo mostra a mesma Struct, mas agora os campos não foram
inicializados, e isso causa um erro de compilação:
Qual é o novo comportamento?
O C# 11 vai padronizar automaticamente todos esses campos, o que significa que o
valor padrão do respectivo tipo seria atribuído aos campos, sem especificá-lo
explicitamente no código.
Para o nosso exemplo vamos atribuir valor ao campo Nome no construtor:
Executando o projeto podemos constatar que o valor padrão zero será atribuído ao campo Idade de forma padrão.
Este recurso pode incrementar o uso de Structs quando elas foram realmente necessárias.
E estamos conversados...
"Nada, em toda a
criação, está oculto aos olhos de Deus. Tudo está descoberto e exposto diante
dos olhos daquele a quem havemos de prestar contas."
Hebreus 4:13
Referências:
NET - Unit of Work - Padrão Unidade de ...