平均値、最大値、最小値のC#のLINQの和

システムを使用しました。
System.Collections.Genericを使用しました。
System.Linqのを使用しました。
System.Textのを使用しました。
System.Threading.Tasksを使用しました。

名前空間Wolfy.LinqAggregation
{
クラスプログラム
{
静的な無効メイン(文字列[] args)
{
//生成测试数据
一覧<製品>リスト=新しいリスト<製品>();
ランダムはr =新しいランダム();
以下のために(; iは5 <; I = 0 int型私は++)
{
イラン= r.Next(1、111)フロート。
=新製品製品プロ(){
ID = I + 1、
NAME = "宝马" + i.ToString()、
価格=イラン* 1000、
ProductDate = DateTime.Now.AddDays(I)}。
製品PRO2 =新製品(){
ID = I + 1、
NAME = "宝马" + i.ToString()、
価格= * 1000イラン、
ProductDate = DateTime.Now.AddDays(I)}。
list.Add(プロ)。
list.Add(PRO2)。
}
//合計、すべての製品の合計金額
のSからリストのVAR = sumResult
結果セットPに格納されたパケットに応じ@ IDパケット
s.ID INTO PによりグループS
この場合、結果はすでにPに設定されている//、したがって、Pからデータをフェッチします。
{新しい新しいSELECT
キー= p.Key、
SUM = p.Sum(X => x.Price)、
分= p.Min(X => x.Price)、
最大= p.Max(X => x.Price) 、
平均= p.Average(X => x.Price)、
COUNT = p.Count();}
foreachの(sumResult varにアイテム)
{
Console.WriteLineを( "ID:" + item.key);
Console.WriteLineを( "一価の基の合計:" + item.sum);
Console.WriteLineを( "最小パケット:" + item.min);
Console.WriteLineを( "最大パケット:" + item.max);
Console.WriteLineを( "平均パケット:" + item.average);
Console.WriteLineを( "パケットの数:" + item.count)。

Console.Read();
}
}
/// <まとめ>
///製品カテゴリ
/// </要約>
クラスの製品
{
/// <まとめ>
///プロダクトID
/// </要約>
パブリックID INT SET {; GET;}
/// <まとめ>
///名
/// </要約>
パブリック文字列名SET {; GET;}
/// <まとめ>
///製品価格
/// </要約>
公共ダブル価格{SET; GET;}
/// <まとめ>
///製造日
/// </要約>
公共ProductDate日時{SET; GET;}

}
}

おすすめ

転載: www.cnblogs.com/LCLBook/p/11262500.html