使用dt.AsEnumerable()中的from DataRow dRow在C#NET中创建一个不同的有序列表
我有以下代码,但在如何维护订单方面存在问题:使用dt.AsEnumerable()中的from DataRow dRow在C#NET中创建一个不同的有序列表,c#,asp.net,.net,.net-4.5,.net-framework-version,C#,Asp.net,.net,.net 4.5,.net Framework Version,我有以下代码,但在如何维护订单方面存在问题: var cars = (from DataRow dRow in dt.AsEnumerable() select new { Car = dRow["Car"], CarId = dRow[&
var cars = (from DataRow dRow in dt.AsEnumerable()
select new
{
Car = dRow["Car"],
CarId = dRow["CarId"],
CarOrder = dRow["CarOrder"]
}).Distinct();
distinct运行良好,但我需要保留从1到X(上升)的顺序
DataTable dt正确地将它们按顺序排列,但是当它碰到这个不同的代码时,顺序不会被保留
我正在试图找出如何使用OrderBy子句。根据
它返回源中唯一项的无序序列
这意味着秩序不会得到维护。因此,您可以在Distinct()
之后执行OrderBy()
,如下所示:
var cars = (from DataRow dRow in dt.AsEnumerable()
select new
{
Car = dRow["Car"],
CarId = dRow["CarId"],
CarOrder = dRow["CarOrder"]
}).Distinct().OrderBy(x => x.CarOrder);
请看:我不明白这个问题。您在使用
OrderBy()
(或查询语法OrderBy
)时遇到问题?发生了什么?您现有的代码不能保证任何订购。如何在CarOrder上使用OrderBy和Distinct?我不确定如何使用它。在您的独特呼叫后添加.OrderBy
。你知道OrderBy是如何工作的吗?我想你需要回去学习LINQ是如何工作的。无法将字符串参数传递给OrderBy。请读一些书。你的名声是我的两倍,所以我希望你已经这么做了。这能回答你的问题吗?