Em C #, qual é o valor padrão de uma variável de instância de classe do tipo int?
?
Por exemplo, no código a seguir, qual valor terá MyNullableInt
se nunca for atribuído explicitamente?
class MyClass
{
public int? MyNullableInt;
}
(Parece provável que a resposta seja null
ou 0
, mas qual é?)
9
Por que o downvote? (A resposta a esta pergunta não foi inicialmente óbvia para mim sem realmente executar o código para testar o comportamento; e, surpreendentemente, não consegui encontrar uma duplicata desta pergunta no StackOverflow ou facilmente encontrada em outro lugar pelo Google.)
—
Jon Schneider
Você poderia ter olhado aqui - primeiro hit do google para mim.
—
500 - Erro interno do servidor,
@ 500 - Encontrei esse artigo quando estava pesquisando - na verdade, vinculei a ele em minha própria resposta abaixo - mas, pelo que posso dizer, o artigo não afirma explicitamente que o valor padrão de uma instância de tipo anulável é nulo. Ele não dizer "O valor padrão para HasValue é falsa. O valor da propriedade não tem valor padrão", mas que não responde diretamente a minha pergunta original sem alguma escavação adicional.
—
Jon Schneider
Eu me pergunto se foi porque você poderia apenas definir um ponto de interrupção e ver qual é o valor, ou no tipo Janela Imediata
—
Rufus L
int? x;
e ver qual é o resultado?