어떻게 그룹이 Linq에서 2 Field인가? 이 할 방법 주문 ID에 의해서가 아니라 두 개의 필드 등으로어떻게 Linq에 2 그룹 필드와 그룹?
(from i in info
group i by i.OrderId into g
select new { orderId = g.Key, infos = g });
뿐만 아니라 ... 주문
group by i.orderId And i.City
?
var result = from i in info
group i by new { OrderId = i.OrderId, City = i.City } into g
select new { OrderId = g.Key, Infos = g };
단순히 LINQ가있는 일을해야 익명 형식의 모든 필드에 대한 기본 같음 comparers를 사용할 수 있도록 익명의 유형으로 키를 생성 :
는 그것은이 같은 익명 형식을 사용하는 컴파일 된 응용 프로그램에 반사경을 열 또한 매우 유용 할 수 있기 때문에 : 최종 결과 집합이에 OrderID를 될 수있는 OrderID가 필요한 경우, 당신은 다음을 수행해야합니다 왜 위의 작품을 이해합니다. Equals(), GetHashCode() 등을 어떻게 구현해야 하는지를 익명이 아닌 유형으로 만들 필요가있을 때도 나쁜 지침이 아닙니다. – Josh
@Josh : 예, 좋습니다. 그 말은 사용자 정의 유형의 기본 비교자를 사용하는 것보다 훨씬 더 잘 수행 할 수 있습니다. – Noldorin