У меня есть массив, который имеет объекты даты, которые мне нужно сортировать по возрастанию или по убыванию в соответствии с датой i.e последней первой (дата также может содержать метку времени).Дата Время Массив Сортировка
ответ
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))
Я отсортировали date.But у меня есть массив объектов, содержащий объект дату как member.So как я отсортировать массив объектов, который содержит объект даты?
Вы можете снова использовать пользовательские 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()
.
Спасибо за быстрый ответ, я отсортировал дату. Но у меня есть массив с объектами, который содержит объект даты в качестве члена. Так как я сортирую массив объектов, содержащих объект даты? – B2Mobile
@ B2Mobile: Отредактирован мой ответ. –
Большое спасибо @Tim Schmelter.It работал как шарм. – B2Mobile
Извините за ошибку, мне нужен был ответ на VB.net, поскольку я новичок на vb.net. – B2Mobile