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

[Dúvida] duvida na aula consumindo API/Refatorando uma função

no texto dessa aula tem uma linha de código public List? aliases { get; set; } neste caso, o ? depois da lista tem qual função? e se possível qual o termo utilizado pra esse (list<>?) especifico se tiver pra eu me aprofundar por favor? minha cabeça tá enrolada no momento ai pode ter falando antes mas não lembro de te visto isto

1 resposta
solução!

Breno,

Essa ? (interrogação) é para que a variável ou propriedade aceite valores nulos.

Mas também pode ser usado como operador condicional ternário, dai é outra história...

... tem também o duplo "??" (os operadores de união nula) mas esse eu NUNCA VI em nenhum código na minha vida toda.

Abaixo achei um exemplo legal, mas vou passar outro links para você ler, okay?

===============================================================

Para que serve a "interrogação" na declaração de tipos no C#? [duplicada]

Perguntada 7 anos, 5 meses atrás

DateTime? data = null; // Vai funcionar
DateTime data = null;  // Erro -> DateTime não pode receber null

https://pt.stackoverflow.com/questions/125827/para-que-serve-a-interroga%C3%A7%C3%A3o-na-declara%C3%A7%C3%A3o-de-tipos-no-c

===============================================================

C# – Para Iniciantes – Parte 6 – Syntactic Sugar

Publicado em 29 de agosto de 2012

Olá pessoal, já ouviram falar de Syntactic Sugar ?

int? numero = null;
numero = 12;

https://www.eduardopires.net.br/2012/08/c-sharp-iniciantes-syntactic-sugar/

===============================================================

Operador ?: – o operador condicional ternário

Artigo - 26/07/2023

string GetWeatherDisplay(double tempInCelsius) => tempInCelsius < 20.0 ? "Cold." : "Perfect!";

Console.WriteLine(GetWeatherDisplay(15));  // output: Cold.
Console.WriteLine(GetWeatherDisplay(27));  // output: Perfect!

https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/operators/conditional-operator

===============================================================

?? e os operadores ?? = - os operadores de união nula

Artigo - 28/07/2023

List<int> numbers = null;
int? a = null;

Console.WriteLine((numbers is null)); // expected: true
// if numbers is null, initialize it. Then, add 5 to numbers
(numbers ??= new List<int>()).Add(5);
Console.WriteLine(string.Join(" ", numbers));  // output: 5
Console.WriteLine((numbers is null)); // expected: false        


Console.WriteLine((a is null)); // expected: true
Console.WriteLine((a ?? 3)); // expected: 3 since a is still null 
// if a is null then assign 0 to a and add a to the list
numbers.Add(a ??= 0);
Console.WriteLine((a is null)); // expected: false        
Console.WriteLine(string.Join(" ", numbers));  // output: 5 0
Console.WriteLine(a);  // output: 0

https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/operators/null-coalescing-operator

===============================================================

Por favor, não esqueça de fechar o tópico se sua dúvida foi sanada e se te ajudei, não esqueça de me pontuar, tá okay?

Obrigado.

[]'s,

Fabio I.