2
我正在閱讀很多網站以獲得Linq-Group Join的更好的想法。Group加入Linq C#
var customers = new Customer[]
{
new Customer{Code = 5, Name = "Sam"},
new Customer{Code = 6, Name = "Dave"},
new Customer{Code = 7, Name = "Julia"},
new Customer{Code = 8, Name = "Sue"}
};
// Example orders.
var orders = new Order[]
{
new Order{KeyCode = 5, Product = "Book"},
new Order{KeyCode = 6, Product = "Game"},
new Order{KeyCode = 7, Product = "Computer"},
new Order{KeyCode = 7, Product = "Mouse"},
new Order{KeyCode = 8, Product = "Shirt"},
new Order{KeyCode = 5, Product = "Underwear"}
};
var query = customers.GroupJoin(orders,
c => c.Code,
o => o.KeyCode,
(c, result) => new Result(c.Name, result));//why mention c here??
// Enumerate results.
foreach (var result in query)
{
Console.WriteLine("{0} bought...", result.Name);
foreach (var item in result.Collection)
{
Console.WriteLine(item.Product);
}
}
我不明白爲什麼它給(c,結果)?如果寫成(c,o)會怎麼樣?
任何人都可以分享想法嗎?
感謝您的回覆。所以你的意思是說var query = customers.GroupJoin(訂單, c => c.Code, o => o.KeyCode, (c,result)=> new Result(c.Name,result));和var query = customers.GroupJoin(orders, c => c.Code, o => o.KeyCode, (o,result)=> new Result(o.Name,result));是一樣的嗎?如果是這樣的話,C,O的作用是什麼? –
當然。你可以任何你想要的方式命名參數。與方法中聲明的參數相同,命名僅僅是化妝品。 – mwilczynski