C# помогает компилятору сделать вывод об отсутствии значенийC#

Место общения программистов C#
Ответить
Anonymous
 C# помогает компилятору сделать вывод об отсутствии значений

Сообщение Anonymous »

Рассмотрим этот простой класс в C# (включена функция допуска к нулю):

Код: Выделить всё

public class Error
{
public string Message = "...";

public static implicit operator bool(Error? err) => err is not null;
}

Неявный оператор bool позволяет мне упростить условные проверки следующим образом:

Код: Выделить всё

var err = GetSomeError();

// scenario 1 (without implicit operator)
if (err is not null)
{
Console.WriteLine(err.Message);
}

// scenario 2 (with implicit operator)
if (err)
{
Console.WriteLine(err.Message); // 

Подробнее здесь: [url]https://stackoverflow.com/questions/79195410/c-sharp-help-compiler-to-infer-nullability[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»