Есть коллекция однотипных объектов.
public class DemoCustomer
{
public DemoCustomer(int d)
{
age = d;
ages = age > 25 ? new[] { 1, 2, 3 } : new[] { 100, 200, 300 };
}
public readonly int age = 34;
public readonly IEnumerable<int> ages;
}
class Program
{
static void Main(string[] args)
{
DemoCustomer d1 = new DemoCustomer(2);
DemoCustomer d2 = new DemoCustomer(21);
DemoCustomer d3 = new DemoCustomer(31);
DemoCustomer d4 = new DemoCustomer(35);
var arr = new List<DemoCustomer> {d1, d2, d3, d4};
}
}
как Кол-во и сумму ages для всех?
А>как Кол-во и сумму ages для всех?
1. Количество чего?
2. Сумма:
var sum = arr
.SelectMany(c => c.ages)
.Aggregate((x, y) => x + y);
Здравствуйте, QrystaL, Вы писали:
А>>как Кол-во и сумму ages для всех?
QL>1. Количество чего?
QL>2. Сумма:
QL>QL> var sum = arr
QL> .SelectMany(c => c.ages)
QL> .Aggregate((x, y) => x + y);
QL>
нужно кол-во всех ages и сумму по ним в одном объекте получить (анонимный тип)
А>нужно кол-во всех ages и сумму по ним в одном объекте получить (анонимный тип)
var sumAndCount = arr
.SelectMany(c => c.ages)
.Aggregate(new { Sum = 0, Count = 0 }, (x, y) => new { Sum = x.Sum + y, Count = x.Count + 1 });
Здравствуйте, Аноним, Вы писали:
А>как Кол-во и сумму ages для всех?
arr.Select(c=>c.age).Sum();
arr.Count();