私は を取りSelect
、各要素を に投影しようとしています。現在、の値を型のリストに投影するDictionary<string, UdpReceiveResult>
があります。は 型の辞書です。私はSelect
Dictionary
tasks
UdpReceiveResult
clients
Dictionary<string, UdpClient>
var tasks = clients.Select(c => c.Value.ReceiveAsync()).OrderByCompletion();
キーとReceiveAsync()
結果を新しい に投影したいと思いますDictionary
。 はOrderByCompletion
Nito.AsyncEx dll からのものです。
ベストアンサー1
まず、結果にキーも含める必要があります。
var tasks = clients.Select(async c => new
{
c.Key,
Value = await c.Value.ReceiveAsync(),
});
タスクが完了したら、それを辞書に追加できます。
var results = await Task.WhenAll(tasks);
var dictionary = results.ToDictionary(
pair => pair.Key, pair => pair.Value);