我正在尝试将a Select和项目中的每个元素投射到一个Dictionary<string, UdpReceiveResult>
我当前有一个Select只是将a的值投影到类型Dictionary列表.是一本类型的字典.我有tasksUdpReceiveResultclientsDictionary<string, UdpClient>
var tasks = clients.Select(c => c.Value.ReceiveAsync()).OrderByCompletion();
Run Code Online (Sandbox Code Playgroud)
我想将密钥和ReceiveAsync()结果投影到一个新的Dictionary.该OrderByCompletion是Nito.AsyncEx DLL.
Ser*_*rvy 46
那么,对于初学者,你需要你的结果也包括关键:
var tasks = clients.Select(async c => new
{
c.Key,
Value = await c.Value.ReceiveAsync(),
});
Run Code Online (Sandbox Code Playgroud)
然后当任务完成时,您可以将它们放入字典中:
var results = await Task.WhenAll(tasks);
var dictionary = results.ToDictionary(
pair => pair.Key, pair => pair.Value);
Run Code Online (Sandbox Code Playgroud)
e.g*_*gad 27
此代码将在一行代码中完成相同的操作.
var tasks = clients.ToDictionary(c => c.Key, c => c.Value.ReceiveAsync());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24944 次 |
| 最近记录: |