Junior — Middle
92
Какими способами ты использовал расширения в LINQ для добавления функциональности?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В LINQ расширения обычно реализуются через методы расширения (extension methods) для интерфейсов IEnumerable<T> или IQueryable<T>. Это позволяет добавлять новые методы, которые выглядят как встроенные методы LINQ, расширяя функциональность без изменения исходного кода.
Например, можно создать метод расширения для фильтрации элементов по сложному условию:
public static class LinqExtensions
{
public static IEnumerable<T> WhereIf<T>(this IEnumerable<T> source, bool condition, Func<T, bool> predicate)
{
if (condition)
return source.Where(predicate);
else
return source;
}
}
Использование:
var numbers = new List<int> {1, 2, 3, 4, 5};
bool filterEven = true;
var result = numbers.WhereIf(filterEven, n => n % 2 == 0);
Таким образом, расширения позволяют создавать удобные, переиспользуемые методы для LINQ-запросов.