我有2個列表,我需要鞏固。表1只的日期,並列出2可有時間元素,以及:有沒有更簡潔的方式來表達這個foreach循環?
var List1 = new[] {
new ListType{ val = new DateTime(2012, 1, 1)},
new ListType{ val = new DateTime(2012, 1, 2)}
};
List2 = new[] { new ListType{ val = new DateTime(2012, 1, 1, 5, 0, 0)} };
FinalList = new[] {
new ListType{ val = new DateTime(2012, 1, 1, 5, 0, 0)},
new ListType{ val = new DateTime(2012, 1, 2)}
};
我要對這個辦法是:
foreach (var l in List1) {
var match = List2.FirstOrDefault(q => q.val.Date == l.val);
if (match == null) continue;
l.val = match.val;
}
難道還有比通過迭代更好的辦法List1,使用FirstOrDefault然後重新分配val?它可以工作,所以如果Linq有一種更優雅的方式(即我缺少一些明顯的東西),這只是一種好奇心。
感謝
你調查過加入功能? – Timo
所以,你是從'List2'複製時間部分到'List1'的相應成員? –
丹:確切無誤 – Rob