gpt4 book ai didi

c# - 有没有办法配置这个 Task.WhenAll Select 使用匿名方法?

转载 作者:行者123 更新时间:2023-11-30 17:29:31 25 4
gpt4 key购买 nike

以下代码获取所有域,然后获取每个域的所有用户:

var domainNames = new string[]{ "corp-domain-1", "corp-domain-2"};
var results = await Task.WhenAll(domainNames.Select(x =>
{
request.DomainName = x;
GetUsersPerDomainAsync(request);
}));
if (results.First() == null) return null;
return results.SelectMany(result => result).ToList();

目标是根据每个域的请求更新 DomainName 属性。有没有一种方法可以像上面的代码一样以匿名方式做到这一点?上面代码中使用的方法无法编译,但我只是想提供一个关于我正在尝试做什么的想法。

最佳答案

您必须返回一个任务。并关注 @elgonzo's advise我猜你的代码应该是这样的:

...
await Task.WhenAll(
domainNames.Select(x => Task.Factory.StartNew(async () =>
await GetUsersPerDomainAsync(new Request() { DomainName = x }) )
)
);
...

一旦 WhenAll 的返回只是一个 Task,我认为您不能等待返回 results。但我认为主要思想是我所建议的。

Take a look at this code working on dotnetfiddle .

希望对你有帮助。

关于c# - 有没有办法配置这个 Task.WhenAll Select 使用匿名方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51032237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com