这是我的代码:
var distinctDateValues = dt.AsEnumerable()
.Select(row => new
{
Date = DateTime.Parse(row.Field<string>("DAY"))
})
.Distinct()
.ToList();
distinctDateValues.Sort(); // getting error on this line
Run Code Online (Sandbox Code Playgroud)
distinctDateValues 中的值是:

我得到的错误是“无法比较数组中的两个元素。”
任何人都可以建议我在这里做错了什么。我想对distinctDateValues 的日期列中的值进行排序。
无需创建匿名类型,在您的情况下,结果distinctDateValues是匿名类型的列表,而不是 的列表DateTime,您应该得到DateTime如下所示的排序列表OrderBy:
var distinctDateValues = dt.AsEnumerable()
.Select(row => row.Field<DateTime>("DAY"))
.Distinct()
.OrderBy(x => x)
.ToList();
Run Code Online (Sandbox Code Playgroud)
此外,您应该使用内置方法Field<DateTime>而不是使用多一步DateTime.Parse
| 归档时间: |
|
| 查看次数: |
10117 次 |
| 最近记录: |