각 레코드에서 두 개의 레코드를 얻을LINQ 내가이 유형의 개체 목록이
NewObject
.Date
.Number
을 하나의 객체에있는 Date는 EndDate와 Number가 될 것입니다. 다른 목적은 날짜는 STARTDATE되며 숫자는 음수
각 레코드에서 두 개의 레코드를 얻을LINQ 내가이 유형의 개체 목록이
NewObject
.Date
.Number
을 하나의 객체에있는 Date는 EndDate와 Number가 될 것입니다. 다른 목적은 날짜는 STARTDATE되며 숫자는 음수
MyObjects.SelectMany(o => new[] {
new NewObject { Date = o.EndDate, Number = o.Number },
new NewObject { Date = o.StartDate, Number = -o.Number } });
같은 생각이지만 빠름 +1 –
간단하고 분명 :) –
var result = (from myObject in MyObjects
select new NewObject { Date = myObject.StartDate, Number = -myObject.number }).Concat
(from myObject in MyObjects
select new NewObject { Date = myObject.EndDate, Number = myObject.number });
O (3n) ...별로 좋지 않습니다. –
@newStackExchangeInstance 그것은 O (2n)입니다. 너처럼. –
Concat도 반복 처리해야합니다. –
var q = from o in MyObjects
select new {
NewObject1 = new NewObject(){
Date = o.StartDate,
Number = -o.Number
},
NewObject2 = new NewObject(){
Date = o.EndDate,
Number = o.Number
}
};
가'인가 NewObject' 클래스 또는 익명의 유형이 될 것인가? –