Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Qual a melhor forma?

Vi o post do colega Erik mais acima e percebi que ele inicia o contador com 0 e depois utiliza uma função lambda para atribuir o valor ao contador. Acho q a minha solução é um pouco mais simples, porém não sei se o fato de não inicializar com 0 poder trazer algum risco como em C por exemplo, onde as posições de memória podem trazer um "lixo". A minha ficou assim:

    public Album(string nome)
    {
        Nome = nome;
        ContadorDeObjetos++;
    }
    public static int ContadorDeObjetos { get; private set; }

Obrigado pela ajuda e por compartilhar a tua solução @Erik

1 resposta
solução!

Oii Pedro, tudo bem?

A sua solução está correta!

No C#, quando você declara uma variável de tipo primitivo ou objeto, mas não atribui nenhum valor a ela, o compilador do C# automaticamente atribui um valor padrão a essa variável. No caso de tipos numéricos como int, o valor padrão é 0. Então, mesmo que você não inicialize explicitamente o ContadorDeObjetos com 0, ele já começa com esse valor.

Um abraço e bons estudos.