평균, 최대, 최소 C 번호의 LINQ 합

시스템을 사용하여;
System.Collections.Generic을 사용함;
을 System.Linq을 사용함;
System.Text을 사용함;
System.Threading.Tasks을 사용함;

네임 스페이스 Wolfy.LinqAggregation
{
클래스 프로그램
{
정적 무효 메인 (문자열 []에 args)
{
//生成测试数据
목록 <제품 소개> 목록 = 새 목록 <제품 소개> ();
난수 R = 새로운 랜덤 ();
경우 (나는 5 <; I = 0 int로 난 ++)
{
이란 r.Next = (1, 111)를 플로트;
제품 프로 = 새로운 제품 () {
ID = I + 1,
이름 = "宝马"+ i.ToString (),
가격 = * 1000이란,
ProductDate = DateTime.Now.AddDays (I)};
제품 PRO2 = 신제품 () {
ID = 1 + 1,
NAME = "宝马"+ i.ToString (),
가격 = * 1000이란
ProductDate = DateTime.Now.AddDays (I)};
에는 list.add (프로);
에는 list.add (PRO2);
}
// 합, 모든 제품의 총 가격
VAR = sumResult S의 행리스트
P 결과 집합에 저장된 패킷에 따른 @ 아이디 패킷
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 ()}
(sumResult의 VAR의 아이템) foreach는
{
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