簡體   English   中英

如何使用vb.net中的linq對另一個列表中的List進行排序

[英]How to sort List within another list using linq in vb.net

我有2個通用列表。

  Dim Item As New List(Of String)
  Dim Item2 As New List(Of Array)

項目包含4個元素。

它們是1.項目代碼2.描述3. BIN 4.價格

但它們只是順序輸入例如

Item = {5858545,HairDryer,A45,50}

有許多項目和項目2包含項目列表。 例如Item2 = {{5858545,HairDryer,A45,50},....}

現在我想根據BIN然后按項目代碼對Item2進行排序

所以現在我的列表Item2將包含根據BIN然后按項目代碼排序的Item元素。

如何使用LINQ或任何其他方式執行此操作?

謝謝

您不應將對象存儲為數組或值列表。 創建一個新類來表示您的項目。 為BIN,name等提供四個屬性,然后創建該自定義類型的列表。

要訂購列表,您可以使用OrderBy方法,然后使用ThenBy方法。 如果你有一個自定義對象,它會讀得更好,因為它看起來像:

list.OrderBy(item => item.BIN).ThenBy(item => item.Code);

如果您有數組/列表,則需要執行以下更加丑陋的選項:

list.OrderBy(item => item[0]).ThenBy(item => item[1]);

請注意第一個示例如何完全符合您的要求。 “按BIN排序列表,然后按代碼排序。” 這是完全清楚,有人看着,第一次的代碼完全它在做什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM