非异步异步方法的命名约定是什么?



众所周知,在C#中,async方法应该用后缀"Async"命名(例如 ReadAsyncCreateAsync)。

但在许多情况下,异步方法中不需要async/await,例如:

public async Task<string> DoSomethingAsync()
{
    return await GetAsync();
}

可以改写为:

public Task<string> DoSomethingAsync()
{
    return GetAsync();
}

我的问题是:

  1. 对于上述async/await完全可选的情况,哪个版本更正确?保留async/await还是直接归还Task

  2. 如果第二个版本更好(直接返回Task),它是否仍应以后缀"Async"命名(即 DoSomethingAsync ) 或不(即 DoSomething )?

对于上述 async/await 完全可选的情况,哪个版本更正确?保持异步/等待还是直接返回任务?

我更喜欢直接返回Task,但我写了一篇完整的博客文章,说明何时合适,何时不合适。

如果第二个版本更好(直接返回任务),它是否应该以后缀"Async"(即DoSomethingAsync)或不(即DoSomething)命名?

是的。Async后缀的意思是"返回可等待的"。

最新更新