c# – 如何使用LINQ从DataTable获取一个不同的,有序的名称列表?

假设我有一个DataTable与一个名称列。我想有一个按字母顺序排序的唯一名称的集合。以下查询忽略order by子句。

var names =
    (from DataRow dr in dataTable.Rows
    orderby (string)dr["Name"]
    select (string)dr["Name"]).Distinct();

为什么订单不被强制执行?

为了使其更易于阅读和维护,您还可以将其拆分为多个LINQ语句。

>首先,选择你的数据到一个新的列表,让我们称之为x1,做一个投影,如果需要
>接下来,创建一个不同的列表,从x1到x2,使用任何你需要的区别
>最后,创建一个有序列表,从x2到x3,按你想要的排序

http://stackoverflow.com/questions/59/how-do-i-get-a-distinct-ordered-list-of-names-from-a-datatable-using-linq

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何使用LINQ从DataTable获取一个不同的,有序的名称列表?