当前位置: 首页 > 编程语言 > C#

在C#中共享带日期的字符串列表

时间:2023-04-10 15:33:37 C#

C#中带日期的字符串列表我有一个带日期的列表。我的列表是:{"01/01/2013","10/01/2013","20/01/2013"}我想这样对列表进行排序:{"20/01/2013","10/01/2013","01/01/2013"}我该怎么办?使用linq:varlist=newList{"01/01/2013","10/01/2013","20/01/2013"};varorderedList=list.OrderByDescending(x=>DateTime.Parse(x)).ToList();您不应该使用数据的字符串表示形式——我们都生活在一个面向对象的世界中:)最好的方法是将这些字符串转换为实际的DateTime对象,并通过linq以相反的顺序对它们进行排序:vardates=Array。ConvertAll(dateStrings,x=>DateTime.Parse(x));返回日期.OrderByDesc(x=>x);另一种方法是实现自定义排序功能,请参阅此链接。然后你只需在你的排序函数中使用它:DateAsStringComparermyComparer=newDateAsStringComparer();dateStrings.Sort(myComparer);试试这个:Lists=newList(){"01/01/2013","10/01/2013","20/01/2013"};vard=s.OrderByDescending(i=>DateTime.ParseExact(i,"dd/MM/yyyy",null));因为它们采用英国/澳大利亚格式(日/月/年),您可以使用OrderByDescending对它们进行降序排序:Listdates=newList(){"01/01/2013","10/01/2013","20/10/2013"};foreach(vardateindates.OrderByDescending(x=>x))Console.WriteLine(date);我个人首先将它们转换为DateTime对象。为什么使用List而不是List?以上就是C#学习教程:用C#中的日期来分享字符串列表的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—Listdates=...dates.OrderByDescending(c=>c).ToList();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: