我有這段代碼:
foreach (var customer in customers)
{
foreach (var notifier in this.notifiers)
{
notifyCustomer(notifier, customer);
}
}
是否可以使用一個 foreach 或 Linq,甚至以更優雅的方式執行相同的操作?
uj5u.com熱心網友回復:
您可以做很多事情,例如:
foreach ((notifier, customer) in customers.SelectMany(c => this.notifiers.Select(n => (n, c)))
{
notifyCustomer(notifier, customer);
}
...但我想你會同意這比你所擁有的更糟糕!
您所擁有的內容清楚地表明您正在呼叫notifyCustomer通知者和客戶的每種組合,我認為沒有辦法改進它。
uj5u.com熱心網友回復:
您也可以使用 Linq 查詢語法來執行此操作,但我完全同意您的原始代碼最好的其他評論。但為了完整性:
var items =
from customer in customers
from notifier in notifers
select (customer, notifier);
foreach (var item in items)
{
notifyCustomer(item.notifier, item.customer);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521696.html
標籤:C#。网林克
