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

Lif*_*ang 2 .net c# multithreading asynchronous task-parallel-library

正如众所周知,在C#中,async应该方法后缀"异步"命名(例如ReadAsync,CreateAsync).

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

public async Task<string> DoSomethingAsync()
{
    return await GetAsync();
}
Run Code Online (Sandbox Code Playgroud)

可以改写为:

public Task<string> DoSomethingAsync()
{
    return GetAsync();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 对于上面的情况,哪里async/await是完全可选的,哪个版本更正确?保持async/awaitTask直接返回?

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

Ste*_*ary 6

对于上面的情况,async/await是完全可选的,哪个版本更正确?保持async/await或直接返回任务?

我更喜欢Task直接返回,但我写了一篇关于什么时候合适的博客文章.

如果第二个版本更好(直接返回一个任务),它是否通常仍然以后缀"Async"(即DoSomethingAsync)命名(即DoSomethingAsync)?

是.该Async后缀的意思是"返回awaitable".