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 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()
4

3 に答える 3

3
ArrDates = ArrDates.OrderBy(Function(d) DateTime.ParseExact(d, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture)).ToArray()

また、OrderByDescending()必要に応じて使用することもできます。

于 2013-08-07T12:16:25.010 に答える
2

astander が言ったように、datetime 値を持つ配列をソートするのは非常に複雑です。代わりに、配列を List または ArrayList に変換するだけで、作業が楽になります。

ArrayList には、次の構文を使用できます。

List<DateTime> dates = ... // init and fill
dates.Sort();
dates.Reverse();
于 2013-08-07T12:09:18.957 に答える
1

1 つの方法は、DateTime.ParseExact を使用して文字列を DateTime に変換することです。

独自の IComparer を記述して Array.Sort に渡す別の方法

于 2013-08-07T11:57:24.413 に答える