다른 유형으로 변환하려는 한 유형의 개체 모음이 있습니다. 이 작업은 foreach를 사용하여 쉽게 수행 할 수 있지만 Linq의 집계 함수를 사용하여이를 수행하는 방법을 알고 싶습니다.Linq의 집계 함수를 사용하여 목록에 추가하는 방법 C#
문제는 모두 '+'연산자를 지원하는 모든 집계 예제 사용 유형 줄 문자열 또는 int입니다. accumulator 타입을 '+'의미론을 지원하지 않는리스트로 만들고 싶습니다.
public class DestinationType
{
public DestinationType(int A, int B, int C) { ... }
}
var set = from item in context.Items
select new { item.A, item.B, item.C };
var newSet = set.Aggregate(new List<DestinationType>(),
(list, item) => list.Add(new DestinationType(item.A, item.B, item.C)));
문제는 그 목록 <입니다> .Add 무효 반환
여기에 빠른 예입니다. Aggregate에 대한 두 번째 매개 변수의 반환 유형은 List 여야합니다.
내가 '+'타입 의미 지원 목록 유형이 있다면 난 그냥 이런 종류의 일을 지원하는 모든 콜렉션 유형을 찾을 수 없습니다 그러나 두 번째 매개 변수
list + item
을 만들 수 있습니다.
Linq에서 이처럼 쉽게 사용할 수 있습니다. 방법이 있습니까? 또한, 내가 더 쉬운 방법을 놓치고 있다면, 나는 그것에 대해서도 배우고 싶다. 감사!
모든 좋은 답변 주셔서 감사합니다! Sam & Talljoe의 대답은 Linq를 사용하여 가장 간단하게 수행되었습니다. 다시 Thx! – Slaggg