我正在尋找一個LINQ功能,可以在這裏取代我的兩個循環,產生類似的結果:轉換兩個列表的字典
public class Outer {
public long Id { get; set; }
}
public class Inner {
public long Id { get; set; }
public long OuterId { get; set; }
}
var outers = new List<Outer>();
var inners = new List<Inner>();
// add some of each object type to the two lists
// I'd like to replace this code with a LINQ-style approach
var map = new Dictionary<long, long>();
foreach (Outer outer in outers) {
foreach (Inner inner in inners.Where(m => m.OuterId == outer.Id)) {
map.Add(inner.Id, outer.Id);
}
}
好像你的示例代碼可能不會做你希望它... – 2013-02-26 23:17:30
的inner.Id將是什麼獨一無二。而每個內心只能屬於一個外部。我已經正確地工作了,但我只是尋找更優雅的解決方案。 – 2013-02-26 23:19:33
真的值得嗎?看起來你不需要懶惰的執行,或者其他任何linq特有的功能。 – 2013-02-26 23:20:04