日付ごとに昇順または降順で並べ替える必要がある日付オブジェクトを含む配列があります。つまり、最新のものを最初に並べます(日付にはタイムスタンプを含めることもできます)。
6544 次
1 に答える
3
Array.Sort(Of T)
カスタムIComparer(Of T)
デリゲートで動作するはずです:
Dim dates = {Date.Now, Date.Now.AddDays(1), Date.Now.AddDays(2)}
Array.Sort(Of Date)(dates, Function(d1, d2) d2.CompareTo(d1))
日付を並べ替えましたが、日付オブジェクトをメンバーとして含むオブジェクトの配列があります。日付オブジェクトを含むオブジェクトの配列を並べ替えるにはどうすればよいですか?
カスタム デリゲートを再度使用できます(オブジェクトがクラスであるとSort
仮定します)。Person
Array.Sort(Of Person)(persons, Function(p1, p2) p2.BirthDate.CompareTo(p1.BirthDate))
しかし、最も読みやすい方法は、Linq を使用することです。
Dim orderedPersons = From p In persons
Order By p.BirthDate Descending
For Each p In orderedPersons
Console.WriteLine("{0}'s birtdate is at {1}", p.Name, p.BirthDate)
Next
クエリからのリストが必要な場合は を使用し.ToList()
、必要な場合は をarray
使用します.ToArray()
。
于 2013-03-13T12:38:28.500 に答える