LINQ規格のクエリ操作は、カウンタオペレータCount()、Sum()、Min()、Max()、Average()およびAggregate()に適合する
Count()、Sum()、Min()、Max()、Average()、Aggregate()などの合計オペレータは、シーケンスを返さずに値を返します.Count()拡張メソッドは、セット内のアイテム数を返します.次のCount()メソッドはRacerのYears属性に適用され,プレイヤーをフィルタリングし,優勝回数が3回を超えるプレイヤーのみを返す.
結果は、Michael Schumacher 7 Juan Manuel Fangio 5 Alain Prost 4
Sum()メソッドは、シーケンス内のすべての数値を要約し、これらの数値の和を返します.
次のSum()は、一つの国が試合に勝った総回数を計算するために使用されます.
まず国によって、試合手をグループ化し、新しく作成された匿名タイプでWins属性にある国に試合を勝ち取った総回数を与える.SQLと同じ理屈
一級方程式の優勝回数によると、最も成功した国はUK 138 Germany 91 Brazil 78 France 51 Finland 40である.
メソッドMin()、Max()、Average()およびAggregate()の使用方法はCount()およびSum()と同じです.
Min()はコレクションの最小値を返します.
Max()はコレクションの最大値を返します.
Average()は、セット内の平均値を計算します.
Aggregate()メソッドでは、λすべての値を要約する式.
private static void QuantifiersCount()
{
var racers = from r in Formula1.GetChampions()
where r.Years.Count() >= 3 //
orderby r.Years.Count() descending
select new
{
Name = r.FirstName + " " + r.LastName,
TimesChampion = r.Years.Count()
}; //
foreach (var r in racers)
{
Console.WriteLine("{0} {1}", r.Name, r.TimesChampion);
}
}
結果は、Michael Schumacher 7 Juan Manuel Fangio 5 Alain Prost 4
Sum()メソッドは、シーケンス内のすべての数値を要約し、これらの数値の和を返します.
次のSum()は、一つの国が試合に勝った総回数を計算するために使用されます.
まず国によって、試合手をグループ化し、新しく作成された匿名タイプでWins属性にある国に試合を勝ち取った総回数を与える.SQLと同じ理屈
private static void QuantifiersSum()
{
var countries = (from c in
from r in Formula1.GetChampions()
group r by r.Country into c // c
select new
{
Country = c.Key,
Wins = (from r1 in c
select r1.Wins).Sum()//
}
orderby c.Wins descending, c.Country // ,
select c).Take(5);// 5
foreach (var country in countries)
{
Console.WriteLine("{0} {1}", country.Country, country.Wins);
}
}
一級方程式の優勝回数によると、最も成功した国はUK 138 Germany 91 Brazil 78 France 51 Finland 40である.
メソッドMin()、Max()、Average()およびAggregate()の使用方法はCount()およびSum()と同じです.
Min()はコレクションの最小値を返します.
Max()はコレクションの最大値を返します.
Average()は、セット内の平均値を計算します.
Aggregate()メソッドでは、λすべての値を要約する式.