Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 对日期数组排序_Asp.net_Arrays_Vb.net_Asp.net 4.0 - Fatal编程技术网

Asp.net 对日期数组排序

Asp.net 对日期数组排序,asp.net,arrays,vb.net,asp.net-4.0,Asp.net,Arrays,Vb.net,Asp.net 4.0,我已经从日期值的CSV创建了一个数组,现在需要能够对它们进行排序,以便从数组中获取最新的日期 我试过: Array.Sort() 但这排序不正确,我想因为数组值是字符串,任何人都有想法吗 谢谢你的帮助 用于创建数组的代码 'array string exampel: "19/07/2012,23/07/2012,23/07/2012,19/07/2012,25/07/2012" Dim ArrDates As Array = ArrDates .Split(",") 解决方案 Dim Arr

我已经从日期值的CSV创建了一个数组,现在需要能够对它们进行排序,以便从数组中获取最新的日期

我试过:

Array.Sort()
但这排序不正确,我想因为数组值是字符串,任何人都有想法吗

谢谢你的帮助

用于创建数组的代码

'array string exampel: "19/07/2012,23/07/2012,23/07/2012,19/07/2012,25/07/2012"
Dim ArrDates As Array = ArrDates .Split(",")
解决方案

Dim ArrAgentsReportCheck As Array = AgentsReportCheck.Split(",")

Dim ArrDates As New List(Of Date)
For i As Integer = 0 To ArrAgentsReportCheck.Length - 1
    ArrDates.Add(ArrAgentsReportCheck(i))
Next

ArrDates.Sort()
Dim LatestDate As Date = ArrDates.Max()

一种方法是使用DateTime.ParseExact将字符串转换为DateTime


另一种方法是使用DateTime.ParseExact将字符串转换为DateTime


另一种方法是,正如astander所说,对具有日期时间值的数组进行排序非常复杂。相反,只需将数组转换为List或ArrayList,即可轻松使用

对于ArrayList,可以使用以下语法:

List<DateTime> dates = ... // init and fill
dates.Sort();
dates.Reverse();
列出日期=…//初始化和填充
dates.Sort();
日期。反向();

正如astander所说,对具有日期时间值的数组进行排序非常复杂。相反,只需将数组转换为List或ArrayList,即可轻松使用

对于ArrayList,可以使用以下语法:

List<DateTime> dates = ... // init and fill
dates.Sort();
dates.Reverse();
列出日期=…//初始化和填充
dates.Sort();
日期。反向();
或者,您可以根据需要使用
OrderByDescending()


或者,您可以根据需要使用
OrderByDescending()

创建日期时间对象(而不是字符串)的列表(而不是数组)。您可以使用DateTime.TryParse/TryParseExact将字符串转换为DateTime,然后使用Sort方法。向我们展示一个要转换为date的示例字符串。用于加载数组和字符串格式(解释为日期)的代码在这里应该非常有帮助,感谢您的回复,在dates字符串及其如何转换为数组的示例中添加。正如其他人所说,请创建一个
列表(日期时间)
,然后您可以在其上使用
Max()
来获取最大值(即最新日期)。如果只需要获取最新的日期,则不需要对整个列表进行排序,这样Max会更快。创建DateTime对象(而不是字符串)的列表(而不是数组)。您可以使用DateTime.TryParse/TryParseExact将字符串转换为DateTime,然后使用Sort方法。向我们展示一个要转换为date的示例字符串。用于加载数组和字符串格式(解释为日期)的代码在这里应该非常有帮助,感谢您的回复,在dates字符串及其如何转换为数组的示例中添加。正如其他人所说,请创建一个
列表(日期时间)
,然后您可以在其上使用
Max()
来获取最大值(即最新日期)。如果你只想得到最新的日期,那么你不需要对整个列表进行排序,这样Max会更快。谢谢,这很好,我在上面添加了我的最终解决方案,以防对任何人都有帮助。谢谢,这很好,我在上面添加了我的最终解决方案,以防对任何人都有帮助。