.NET Core打包的IAsyncEnumerable似乎没有任何包含的linq支持。能够执行诸如ToList和Count之类的简单事情的正确方法是什么?
参考方案
这是一个很好的问题,因为IAsyncEnumerable<T>
上的IntelliSense中几乎没有有用的项目,开箱即用的是默认.NET Core应用程序具有的隐式框架引用。
预计您将添加System.Linq.Async
(称为Ix Async,see here)程序包,如下所示:
<PackageReference Include="System.Linq.Async" Version="4.0.0" />
然后,您可以使用CountAsync
或ToListAsync
:
async IAsyncEnumerable<int> Numbers()
{
yield return 1;
await Task.Delay(100);
yield return 2;
}
var count = await Numbers().CountAsync();
var myList = await Numbers().ToListAsync();
正如评论中指出的那样,这些方法本身并不是很有用,应在使用更强大的功能并将数据保持为异步流(如SelectAwait
和WhereAwait
等)后使用它们。 ...
我有一个包含成员Predicate的类,希望在Linq表达式中使用该类:using System.Linq; class MyClass { public bool DoAllHaveSomeProperty() { return m_instrumentList.All(m_filterExpression); } private IEnumerable&…
如何在JavaScript中将多个h1元素替换为h1,h2,h3,h4,h5,h6? - javascript@foreach (var item in Model) { <div class="panel-heading"> <h1> <a href="#">@item.Title</a> </h1> </div> } 结果; (每页发布数:6)<…
jQuery和Gridview更新面板不起作用 - c#我必须按照某些给定条件实现gridview的闪烁:gridview row blinking based on some conditions我能够成功实现它,但是随后我被要求在5秒钟内自动刷新gridview,为此我使用了ajax更新面板和计时器,但随后出现如下新的JavaScript错误:码: <form id="form1" …
Asp.net发送信息表单到页面 - c#我正在尝试使用弹出窗口中的新信息更新旧页面。到目前为止,我尝试过将结果保存在会话中Session["Data"] = DLvrijecampingplaatsen.SelectedItem; 然后当它达到Page_Load时,将其重新加载回旧页面if (Session["Data"] != null) { LBkies…
WPF AvalonDock添加文档 - c#我有一个带有AvalonDock的窗口。在启动时,将打开一个文档,其中充满LocControllers用户控件(LocControllersViewModel)。现在,当双击LocController时,我想让LocController用户控件在新文档中打开。因此,第一个文档始终是概述,充满了LocController用户控件,而其他文档则在双击后添加。我已…