Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida na declaração de variavel com ?

Percebi que no projeto a classe produto encontrada na pasta model tem uma variável declarada da seguinte maneira:

public int? CategoriaId { get; set; }

alguém pode me explicar essa interrogação?

2 respostas
solução!

Olá Igor,

Variáveis do tipo int podem guardar números entre -2,147,483,648 e 2,147,483,647 e somente números. Se por alguma razão eu queira guardar também o valor null nela, eu declaro ela dessa forma. Essa interrogação na frente significa que esse int é "nulável", ou seja, um produto pode não ter uma categoria.

Você pode fazer isso com os outros tipos primitivos também se quiser.

Como o Gabriel explicou, o ? quer dizer que aquela variável pode ter um valor nulo, ser "nulável" ou nullable.

Um outro exemplo é com o tipo primitivo bool.

Se uma variável for declarada como:

public bool meuBool { get; set; }

O valor da variável meuBool só poderá ser true ou false.

Alterando o código para:

public bool? meuBool { get; set; }

O valor da variável meuBool poderá ser null também.

Espero ter ajudado.