我正在尝试编写一些代码来并行调用多个不同服务器的Web服务,因此TPL似乎是显而易见的选择。我的Web服务调用中只有一个会返回我想要的结果,而其他所有调用都不会。我正在尝试找到一种有效地拥有Task.WaitAny的方法,但只有在第一个匹配条件的Task返回时才解除阻塞。我尝试使用WaitAny但无法确定过滤器的放置位置。我做到了这一点:publicvoidSearchServers(){varservers=new[]{"server1","server2","server3","server4"};vartasks=servers.Select(s=>Task.Factory.St