View in Telegram
🤨 Неочевидная проблема FirstOrDefault Метод FirstOrDefault в LINQ может стать источником путаницы. Он возвращает первый элемент последовательности или значение по умолчанию для типа, если элементов нет. Для ссылочных типов и Nullable<T> это null, а для значимых типов (например, int) — это их дефолтное значение (0, false и т.д.). ✏️ Например, вызов FirstOrDefault для пустого списка List<int> вернёт 0, что может быть неожиданно, если 0 имеет смысловое значение в вашем коде.
var numbers = new List<int> { };
var result = numbers.FirstOrDefault();
Console.WriteLine(result); // Вывод: 0
❗️Чтобы избежать ошибок, рекомендуется явно проверять коллекцию на пустоту перед вызовом метода или использовать DefaultIfEmpty, чтобы задать своё значение по умолчанию. Например:
var result = numbers.DefaultIfEmpty(null).FirstOrDefault();
Это гарантирует, что даже для пустой коллекции результат будет null, а не дефолтное значение типа. Такой подход делает код понятным и избавляет от скрытых проблем с обработкой "пустых" результатов. 🐸Библиотека шарписта #tip
Please open Telegram to view this post
VIEW IN TELEGRAM
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily