一行代码,当分配到正确的类型vs var时表现不同,我不明白为什么。
以下行抛出Null Exception错误。当我通过FindUser()进行跟踪时,确实返回了正确的用户对象。
IdentityUser identityUser = await _repo.FindUser(id, pass);
以下行确实按预期工作,没有Null Exception,唯一的变化是将其分配给var而不是IdentityUser
var identityUser = await _repo.FindUser(id, pass);
我的问题:为什么会这样?它能否代表某处的代码气味?
答案 0 :(得分:0)
正如@trailmax指出的那样,我试图等待同步方法。替换为...时工作。
IdentityUser identityUser = _repo.FindUser(id, pass).Result;