Back to questions
Aston
Junior — Middle
73
Какими способами ты использовал расширения в LINQ для добавления функциональности?
Companies where asked
Answer from AI
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-запросов.