如何使用LINQ从DataTable中获得独特的有序名称列表?
我有一个Name
列DataTable
。 我想生成按字母顺序排列的唯一名称的集合。 以下查询忽略了order by子句。
var names =
(from DataRow dr in dataTable.Rows
orderby (string)dr["Name"]
select (string)dr["Name"]).Distinct();
为什么orderby
没有得到执行?
为了使其更具可读性和可维护性,您还可以将其拆分为多个LINQ语句。
x1
,如果需要,进行投影 x1
到x2
x2
到x3
,按您的愿望进行排序 问题在于Distinct运算符不会授予它将保持原始值的顺序。
所以你的查询将需要这样工作
var names = (from DataRow dr in dataTable.Rows
select (string)dr["Name"]).Distinct().OrderBy( name => name );
var sortedTable = (from results in resultTable.AsEnumerable()
select (string)results[attributeList]).Distinct().OrderBy(name => name);
链接地址: http://www.djcxy.com/p/51321.html
上一篇: How do I get a distinct, ordered list of names from a DataTable using LINQ?