145得票9回答
“await yield return DoSomethingAsync()”是否可行?(涉及IT技术)

用正常的迭代器块(即"yield return")是否与"async"和"await"不兼容? 这很好地说明了我的尝试:async Task<IEnumerable<Foo>> Method(String [] Strs) { // I want to com...

111得票2回答
将IAsyncEnumerable转换为List

C#8中,我们新增了IAsyncEnumerable接口。如果我们有一个普通的IEnumerable,我们可以使用Linq将其转换为List或任何其他我们想要的集合。 var range = Enumerable.Range(0, 100); var list = range.ToList(...

54得票3回答
创建空的 IAsyncEnumerable

我有一个接口,其代码是这样写的:public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } 我想编写一个空的实现,它不返回任何项,就像这样:public class...

53得票4回答
如何模拟 IAsyncEnumerable?

我想对调用服务的另一个返回 IAsyncEnumerable<T> 方法的方法进行单元测试。 我已创建了服务的模拟 Mock<MyService>,并希望设置此模拟,但我不知道如何做到。这可能吗?还有其他方法可以对调用返回 IAsyncEnumerable 的方法进行单...

46得票2回答
IAsyncEnumerable的Linq方法

在使用 IEnumerable<T> 时,可以使用来自 System.Linq 命名空间的内置扩展方法,如 Skip、Where 和 Select。 当 Microsoft 在 C#8 中添加了 IAsyncEnumerable 时,是否也添加了新的 Linq 方法来支持它? ...

30得票1回答
从异步方法返回IAsyncEnumerable

采用以下方法:public async IAsyncEnumerable<int> Foo() { await SomeAsyncMethod(); return Bar(); // Throws since you can not return values from...

24得票2回答
返回带有EnumeratorCancellation的AsyncEnumerable和循环WithCancellation之间的区别是什么?

我有以下方法可以从http流中读取csv文档。 public async IAsyncEnumerable<Line> GetLines([EnumeratorCancellation] CancellationToken cancellationToken) { Htt...

22得票2回答
IAsyncEnumerable如何与ASP.NET Web API一起使用的澄清

我在探索ASP.NET Web API项目中的IAsyncEnumerable时遇到了一个有趣的行为。请考虑以下代码示例: // Code Sample 1 [HttpGet] public async IAsyncEnumerable<int> GetAsy...

21得票2回答
如何等待从IAsyncEnumerable<>返回的所有结果?

我正在研究C# 8.0中的新IAsyncEnumerable&lt;T&gt;功能。假设我有一个方法需要使用: public IAsyncEnumerable&lt;T&gt; SomeBlackBoxFunctionAsync&lt;T&gt;(...) { ... } 我知道可以使用...

20得票1回答
如何正确地使用IAsyncEnumerable与LINQ类型方法?

目前 .NET Core 中似乎没有包含 IAsyncEnumerable 的 Linq 支持。那么,如何正确地进行简单的操作,例如 ToList 和 Count?