public async Task<List<User>> GetUsersByFIEld(string fIEldname,string fIEldValue) { var filter = Builders<User>.Filter.Eq(fIEldname,fIEldValue); var result = await _usersCollection.Find(filter).ToListAsync(); return result.ToList(); }
当我尝试使用迭代它时
foreach(var w in GetUsersByFIEld("name",John"))
它显示错误
“does not contain a public deFinition for ‘GetEnumerator'”
我试过用
public async IEnumerable<Task<List<User>>> GetUsersByFIEld(string fIEldname,string fIEldValue)
但仍显示错误.有什么建议?
解决方法 使用这样的异步方法public async Task<List<User>> GetUsersByFIEld(string fIEldname,string fIEldValue
建议等待它
public async Task MyCallingMethod(){ var users = await GetUsersByFIEld(...); foreach(var w in users ) { ... }}
要么
public async Task MyCallingMethod(){ foreach(var user in await GetUsersByFIEld(...)) { ... }}
通过调用Result还有其他方法,但不要让那个兔子洞掉下来
简而言之,让Async Await Pattern通过代码像病毒一样传播
补充阅读
Stephen Cleary:Async and Await
总结以上是内存溢出为你收集整理的迭代任务列表C#全部内容,希望文章能够帮你解决迭代任务列表C#所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)