C# 列出等待的方法调用的简写方法

C# 列出等待的方法调用的简写方法,c#,asynchronous,async-await,C#,Asynchronous,Async Await,有没有一种方法可以简化或清理等待方法的过程,并在不涉及第二行新代码的情况下列出结果?e、 g var someResult = (await SomeMethodCall(someParameter)).ToList() 或者使用wait时从SomeMethodCall返回列表是最佳做法?我可以想出两种方法。 如果可以修改SomeMethod,只需将.ToList()包含到其结果中并更改其返回类型即可 var someResult = (await SomeMethodCall(somePar

有没有一种方法可以简化或清理等待方法的过程,并在不涉及第二行新代码的情况下列出结果?e、 g

var someResult = (await SomeMethodCall(someParameter)).ToList()

或者使用wait时从SomeMethodCall返回列表是最佳做法?

我可以想出两种方法。 如果可以修改
SomeMethod
,只需将
.ToList()
包含到其结果中并更改其返回类型即可

var someResult = (await SomeMethodCall(someParameter));
否则,我将应用Decorator模式并创建一个新方法

public List<OldReturnType> SomeMethodAsList(someParameter)
{
    return SomeMethod(someParameter).ToList();
}

你的代码有什么问题?它工作正常,对吗?var someResult=SomeMethodCall(someParameter).Result.ToList()。如果我理解你的问题right@OlegI不要这样做。@patrickhoffman explain?@OlegI将立即执行,而不是异步运行,因此如果这样做,那么使用异步就没有任何意义了。感谢您给出的合理答案:)。我自己也得出了同样的结论。我猜异步返回列表是常态,而没有异步返回IEnumerable则是常态。
var someResult = (await SomeMethodAsList(someParameter))