[英]Converting Vb.Net Linq to C# but Distinct Error
我试图将我的一些代码从vb.net移动到c#类库。 我在vb.net中有一个查询DataTable的linq查询。
Dim qryUser = From db In dt.AsEnumerable() _
Select userName = db.Field(Of String)("UserName") Distinct
Order By userName Ascending
现在我想用C#做这个工作而且我有
IEnumerable<string> qryUser = (from db in Table.AsEnumerable()
orderby db.Field<string>("UserName") ascending
select db.Field<string>("UserName"));
现在我找到的所有搜索示例都显示我应该添加
.Distinct()
到我的c#linq查询的末尾,使它看起来像这样
IEnumerable<string> qryUser = (from db in Table.AsEnumerable()
orderby db.Field<string>("UserName") ascending
select db.Field<string>("UserName")).Distinct()
但这样做会让我在IDE中出错
错误1'System.Data.EnumerableRowCollection'不包含'Distinct'的定义,并且没有扩展方法'Distinct'接受类型'System.Data.EnumerableRowCollection'的第一个参数可以找到
有人可以告诉我这样做的正确方法吗? 提前致谢。
我能够复制/粘贴您的代码(并设置一个小的DataTable
),它工作正常。
Distinct
扩展方法位于System.Linq
命名空间中。
确保以下using
指令位于类文件的顶部:
using System.Linq;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.