我必须使用一个方法作为async
和返回Task
.但是在await
我得到的关键字无法在编译时本身等待字符串作为错误.我试图从方法中返回bool但是徒劳.这是我的方法..
public async TasksearchName(string Name) { Group retrievedGroup = new Group(); string foundGroup = null; try { foundGroup = await Client().Groups .Where(group => group.DisplayName.Equals(Name)) .ExecuteAsync().Result.ToString(); if (foundGroup == "Some Name") { return true; } else { return false; } } catch (){ } }
Hamid Pourja.. 6
问题只是运营商的优先事项.使用括号.你应该删除Result
另外.
foundGroup = (await Client().Groups .Where(group => group.DisplayName.Equals(Name)) .ExecuteAsync()).ToString();
dot(.
)具有比等待更高的优先级,所以当你有
foundGroup = await Client().Groups .Where(group => group.DisplayName.Equals(Name)) .ExecuteAsync().Result.ToString();
它会等待ToString();
.还要注意你有
ExecuteAsync().Result.ToString();
访问Result
任务会导致它执行,并且会丢失您想要实现的所有异步条件.
问题只是运营商的优先事项.使用括号.你应该删除Result
另外.
foundGroup = (await Client().Groups .Where(group => group.DisplayName.Equals(Name)) .ExecuteAsync()).ToString();
dot(.
)具有比等待更高的优先级,所以当你有
foundGroup = await Client().Groups .Where(group => group.DisplayName.Equals(Name)) .ExecuteAsync().Result.ToString();
它会等待ToString();
.还要注意你有
ExecuteAsync().Result.ToString();
访问Result
任务会导致它执行,并且会丢失您想要实现的所有异步条件.