В C# можно заставить любой класс вести себя в if как в JavaScript: просто if (myObject) и внутри проверка на null. Это работает благодаря перегрузке операторов.
Создайте класс с двумя статическими методами:
public class User
{
public string Name { get; set; }
public static bool operator true(User? user) => user?.Name != null;
public static bool operator false(User? user) => user?.Name == null;
}
Теперь
if (user) сработает если имя задано, иначе попадет в else. Компилятор автоматически вызывает нужный оператор при булевом контексте.Единственный минус: никто не ожидает такого, код становится загадкой для команды. Лучше стандартные
is not null или !ReferenceEquals(null, obj).📍 Навигация: Вакансии • Задачи • Собесы
🐸Библиотека шарписта
#sharp_view
