【问题标题】:Sorting an array numerically (VB.NET)对数组进行数字排序(VB.NET)
【发布时间】:2014-04-15 19:04:16
【问题描述】:

我想根据整数值按降序对记录进行排序:

例子:

姓名 1, 4 姓名 2, 6 姓名 3, 3 名称4, 5

应该重新安排到这个:

姓名 2, 6 姓名 4, 5 姓名 1, 4 name3, 3

我尝试使用 Array.Sort,但无法正常工作。

一如既往,感谢您的所有帮助。

【问题讨论】:

  • "name1" 不是整数,其中没有整数 - 1 是一个数字,其值不超过“n”或“a”。您可能需要将数据拆分为文本部分和数字部分以进行排序。如果您将其解析为名称/值类,您也许可以使用SortedList
  • 您目前如何将这些数据保存在内存中?

标签: arrays vb.net sorting csv


【解决方案1】:

您可以将数据拆分为两个数组,并使用array.sort根据整数进行排序。

Dim a() As String = {"name1", "name2", "name3", "name4"}
Dim ia() As Integer = {4, 6, 3, 5}
Array.Sort(ia, a)

这将按照ia 的升序对两个数组进行排序。向后迭代数组以获得降序。

【讨论】:

    【解决方案2】:
    Sub Main()
        Dim StartArray(3) As Integer
    'First let's assign the array elements before it is sorted
            StartArray(0) = 4
            StartArray(1) = 6
            StartArray(2) = 3
            StartArray(3) = 5
            Array.Sort(StartArray) 'This sorts the array
            For i As Integer = 0 To 3
                Console.WriteLine(StartArray(i)) 'Prints the array elements to console
            Next
            Console.ReadLine()
    End Sub
    

    【讨论】:

      【解决方案3】:
      dim nos() as integer={1,2,3,4}
      dim names() as string = {"a","b","c","d"}
      for i = 0 to 3
           array.sort(names &"  "&nos)
      next
      console.readKey
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多