代码检查:异步方法中没有“await”运算符(async Task 方法中没有“await”运算符)
async 修饰符用于允许在方法、任务或 lambda 表达式中使用 await 关键字。 如果 async 方法不包含任何 await 运算符,它将同步执行,就像普通方法一样。
虽然这段代码可以编译并运行,但通常表明实现不完整或对 async 方法的工作机制存在误解。 由于该方法将以同步方式运行, async 修饰符是多余的,应将其移除,或者应将方法改为实际使用 await 执行异步操作。
public class C
{
public async void Foo()
{
var x = async () => { };
}
}
public class C
{
public void Foo()
{
var x = () => { };
}
}
此检查的快速修复会从方法或 lambda 表达式中移除 async 修饰符。
2026年 3月 25日