我如何使用await关键字?

hpi*_*hal 2 c# asynchronous async-await

我有以下"测试"方法:

public async Task<TitaniumUser> FindByIdAsync(string userId)
{
    long id;

    if (!long.TryParse(userId, out id))
        return null;

    return new TitaniumUser(id);
}
Run Code Online (Sandbox Code Playgroud)

我称之为:

var test = await userManager.FindByIdAsync("123");
Run Code Online (Sandbox Code Playgroud)

但我收到以下消息:

'await'运算符只能用于标有'async'修饰符的方法或lambda

我真的会帮助解决这个问题.

Sim*_*ead 5

您的调用方法必须标记为async:

public async Task Caller() {
    // this method is marked async
    var test = await userManager.FindByIdAsync("123");
}
Run Code Online (Sandbox Code Playgroud)

async并且await是一对.await如果未标记,则无法在方法中使用async.