Aggregate
позволяет вам предоставить пользовательскую функцию для запуска поверх IEnumerable<T>
и возврата T
. Sum
позволяет вам извлекать int
из каждого элемента с помощью пользовательской функции, а затем складывать их все вместе.
Но что, если я захочу сделать что-то вроде этого скомпонованного примера:
struct S
{
public int i;
public int j;
}
int Aggregate(IEnumerable<S> data)
{
int ret = 0;
foreach(x in data)
{
ret ^ = Math.Max(x.i,x.j);
}
return ret;
}
Как я хочу, чтобы агрегировать в указанный тип, используя указанную функцию. Обеспечивает ли это LINQ или нужно объединить несколько операций LINQ?