Сообщение Re[3]: C# какая альтернатива return null? от 13.08.2023 11:21
Изменено 13.08.2023 11:36 Serginio1
Re[3]: C# какая альтернатива return null?
Здравствуйте, Разраб, Вы писали:
A>>Это пожалуй и всё. Мой самый предпочитамый способ — это способ №1, но и другие тоже приходится иногда использовать.
Р>Второй с тасками не работает. так что мимо.
Р>Первый да, но ведь оно и до ? работало.
Р>Усложняют шарп до крестов. Потом каятся будут.
Кстати https://stackoverflow.com/questions/58681729/net-non-nullable-reference-type-and-out-parameters
https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/attributes/nullable-analysis
А насчет кортежей так по мне как раз и удобно использовать их вместо TryGetValue или Optional
A>>Это пожалуй и всё. Мой самый предпочитамый способ — это способ №1, но и другие тоже приходится иногда использовать.
Р>Второй с тасками не работает. так что мимо.
Р>Первый да, но ведь оно и до ? работало.
Р>Усложняют шарп до крестов. Потом каятся будут.
Кстати https://stackoverflow.com/questions/58681729/net-non-nullable-reference-type-and-out-parameters
https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/attributes/nullable-analysis
[return: MaybeNull]
static string Find(string key)
{
return key == "" ? null : key;
}
string value1 = Find("key"); // Warning CS8600 Converting null literal or possible null value to non-nullable type.
string? value2 = Find("key"); // No warning
var value3 = Find("key"); // The inferred type is 'string?'
А насчет кортежей так по мне как раз и удобно использовать их вместо TryGetValue или Optional
Re[3]: C# какая альтернатива return null?
Здравствуйте, Разраб, Вы писали:
A>>Это пожалуй и всё. Мой самый предпочитамый способ — это способ №1, но и другие тоже приходится иногда использовать.
Р>Второй с тасками не работает. так что мимо.
Р>Первый да, но ведь оно и до ? работало.
Р>Усложняют шарп до крестов. Потом каятся будут.
Кстати https://stackoverflow.com/questions/58681729/net-non-nullable-reference-type-and-out-parameters
https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/attributes/nullable-analysis
А насчет кортежей так по мне как раз и удобно использовать их вместо TryGetValue или Optional
Для кортежей можно попробовать NotNullIfNotNull
https://devblogs.microsoft.com/dotnet/try-out-nullable-reference-types/
A>>Это пожалуй и всё. Мой самый предпочитамый способ — это способ №1, но и другие тоже приходится иногда использовать.
Р>Второй с тасками не работает. так что мимо.
Р>Первый да, но ведь оно и до ? работало.
Р>Усложняют шарп до крестов. Потом каятся будут.
Кстати https://stackoverflow.com/questions/58681729/net-non-nullable-reference-type-and-out-parameters
https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/attributes/nullable-analysis
[return: MaybeNull]
static string Find(string key)
{
return key == "" ? null : key;
}
string value1 = Find("key"); // Warning CS8600 Converting null literal or possible null value to non-nullable type.
string? value2 = Find("key"); // No warning
var value3 = Find("key"); // The inferred type is 'string?'
А насчет кортежей так по мне как раз и удобно использовать их вместо TryGetValue или Optional
Для кортежей можно попробовать NotNullIfNotNull
https://devblogs.microsoft.com/dotnet/try-out-nullable-reference-types/