C# 按枚举列表排序,不提供所需结果

C# 按枚举列表排序,不提供所需结果,c#,asp.net,cookies,C#,Asp.net,Cookies,我有一份日期清单: var dates = (from var in variants.AsEnumerable() where var.Field<DateTime>("ShowDate").AddHours(-2) > DateTime.Now select var.Field<DateTime>("ShowDate").getPresentationFormat()).OrderBy(t => DateTime.Parse(t)).D

我有一份日期清单:

var dates = (from var in variants.AsEnumerable()
     where var.Field<DateTime>("ShowDate").AddHours(-2) > DateTime.Now
     select var.Field<DateTime>("ShowDate").getPresentationFormat()).OrderBy(t => DateTime.Parse(t)).Distinct();

您的代码有两个问题:

  • 您不使用OrderBy方法的返回值
  • 所选值将是最后一个值,而不是第一个值,因为true在false之后排序
因此,改进的版本将是:

var result = dates.OrderBy(x => !x.Equals(s))
var result = dates.OrderBy(x => !x.Equals(s))