728 x 90

CSharp (C#) 11 – Auto-default structs

CSharp (C#) 11 – Auto-default structs

O CSharp (C#) está bem próximo de ser lançado, sendo previsto para o lançamento novas funcionalidades dentro da linguagem. Neste artigo irei demonstrar a funcionalidade auto-default structs, que permite que crie estruturas e não precise inicia-las em seu construtor. Vale lembrar que, se não preparou seu ambiente de desenvolvimento ainda para as novas features do

O CSharp (C#) está bem próximo de ser lançado, sendo previsto para o lançamento novas funcionalidades dentro da linguagem.

Neste artigo irei demonstrar a funcionalidade auto-default structs, que permite que crie estruturas e não precise inicia-las em seu construtor.

Vale lembrar que, se não preparou seu ambiente de desenvolvimento ainda para as novas features do .NET 7, recomendo que leia este artigo antes de iniciar.

Vale lembrar que, como mencionei anteriormente, estes itens estão ainda em uma versão prévia e é possível que alguns deles não cheguem à versão final do C# 11.

Porém, isto nos dá uma noção do que pode ser a próxima versão do C# e o que esperar.

Auto-default structs no C# 11

No C# 10, tínhamos que definir explicitamente os valores padrão para cada um de seus membros se incluíssemos um construtor em um struct.

Veja o exemplo:

public struct MinhaStruct
{
    public int Numero { get; set; }

    public MinhaStruct()
    {
        Numero = 0;
    }
}

Se remover a inicialização da propriedade Numero, aparentemente sem erro, mas quando compilar, terá o resultado:

Isto seria o resultado se não definirmos a propriedade Numero. No entanto, esse não é mais o caso do C# 11.

Se esses membros não estiverem definidos no construtor, eles serão definidos com seu valor padrão.

Nesse caso, a propriedade Número será definida como 0, que é o valor padrão de um inteiro.

public struct MinhaStruct
{
    public int Numero { get; set; }

    public MinhaStruct()
    {
    }
}

Deixei até comentado no código, caso esteja tudo preparado em seu ambiente, o código acima irá compilar sem dificuldades.


Este exemplo coloquei no GitHub e caso queira baixar para facilitar seus estudos, é só baixar pelo link NET7 Preview Features – Auto-default structs.

Posts Carousel

Leave a Comment

Your email address will not be published. Required fields are marked with *

Latest Posts

Top Authors

Most Commented

Featured Videos