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?
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?
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.