如何优化迭代任务列表C的执行效率?

2026-04-29 03:061阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计274个文字,预计阅读时间需要2分钟。

如何优化迭代任务列表C的执行效率?

plaintext我编写了如下代码:public async Task> GetUsersByField(string fieldName, string fieldValue) { var filter=Builders.Filter.Eq(fieldName, fieldValue); var result=await _usersCollection.Find(filter).ToListAsync(); return result; }

我有这样的代码

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通过代码像病毒一样传播

补充阅读

如何优化迭代任务列表C的执行效率?

Stephen Cleary:Async and Await

本文共计274个文字,预计阅读时间需要2分钟。

如何优化迭代任务列表C的执行效率?

plaintext我编写了如下代码:public async Task> GetUsersByField(string fieldName, string fieldValue) { var filter=Builders.Filter.Eq(fieldName, fieldValue); var result=await _usersCollection.Find(filter).ToListAsync(); return result; }

我有这样的代码

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通过代码像病毒一样传播

补充阅读

如何优化迭代任务列表C的执行效率?

Stephen Cleary:Async and Await