Способы выполнить сортировку для нескольких данных

1

Я использовал ListView для отображения элементов, но я удалил его, и я пытаюсь сортировать данные без визуального компонента. что вы, ребята, рекомендуете для этого типа данных.

    Dim eProducts As New Concurrent.ConcurrentDictionary(Of String, String())
    eProducts("759504") = {"Nike Shoes", "75.50", "9/29/2014", "Description"}

Мне нужен способ сортировки товаров по (ID, Name, Price, Date и Description). Что лучше для этого массива, списка, словаря?

  • 0
    Я не уверен, что диктофоны поддерживают LINQ, но массивы и списки поддерживают LINQ.
  • 0
    Это не выглядит как элегантный подход к тому, что вы пытаетесь сделать. Можем ли мы увидеть еще несколько примеров, и как бы вы их отсортировали?
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Я бы рекомендовал использовать класс или структуру для определения типа продукта для ваших продуктов.

Затем метод расширения LINQ OrderBy упрощает сортировку в массивах памяти, т. Е.

' Example products defined as anonymous types
Dim products() = { _
    New With { Key .Id=759504, .Name="Nike Shoes", .Price=75.5, .Date=#9/29/2014# }, _
    New With { Key .Id=759505, .Name="Puma Shoes", .Price=69.9, .Date=#9/30/2014# } _
}

' Sort by id ascending
Dim byId = products.OrderBy(Function(product) product.Id)                 
' Sort by price descending
Dim byPrice = products.OrderByDescending(Function(product) product.Price)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню