有没有一种方法可以对数字列表进行排序,同时在VB.net中保留其原始索引?

凯蒂

我需要对数字列表进行排序,但是我需要保留它们的初始索引。

之前,我刚刚创建了一个数字数组,然后又创建了另一个索引数组,如下所示:

Dim AverageSuccess(23) As Decimal
Dim intervalList() As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}
            x = 2
            Do
                  Sorted = True
                  For i = 23 To x Step -1
                        If AverageSuccess(i) < AverageSuccess(i - 1) Then

                              TempNum = AverageSuccess(i)
                              AverageSuccess(i) = AverageSuccess(i - 1)
                              AverageSuccess(i - 1) = TempNum
                              TempIndex = intervalList(i)
                              intervalList(i) = intervalList(i - 1)
                              intervalList(i - 1) = TempIndex
                              Sorted = False
                        End If
                  Next
                  x += 1
            Loop Until Sorted

但是,这是针对一个项目的,我的老师告诉我这是不好的编程习惯,应该改用列表。

我一直在努力寻找一个简单的示例,说明如何为此目的在VB.net中使用列表,因此,如果有人可以给我一个示例,我将不胜感激。

安德鲁·莫顿

我不知道您对课堂上的清单有多少了解...

让我们创建一个包含一些整数的列表:

Dim nums As New List(Of Integer) From {9, 8, 4, 5}

现在,我们要存储这些数字的原始索引。我们可以使用Select方法执行此操作,该方法具有一个可选参数,该参数将提供当前项目的索引,并创建一个带有可以为其命名的项目的新实体,例如“ Num”和“ Idx”:

Dim numsWithIndex = nums.Select(Function(n, i) New With {.Num = n, .Idx = i})

然后,我们可以使用LINQ方法OrderBy以所需顺序获取这些实体:

Dim sortedNums = numsWithIndex.OrderBy(Function(nwi) nwi.Num)

我们可以看看我们用什么构造了

Console.WriteLine(String.Join(vbCrLf, sortedNums))

输出:

{ Num = 4, Idx = 2 }
{ Num = 5, Idx = 3 }
{ Num = 8, Idx = 1 }
{ Num = 9, Idx = 0 }

(它显示了我们为New先前创建的匿名类型的属性赋予的名称。)

这是作为控制台应用程序的全部内容,您可以复制并粘贴以在计算机上进行调查:

Module Module1

    Sub Main()
        Dim nums As New List(Of Integer) From {9, 8, 4, 5}
        Dim numsWithIndex = nums.Select(Function(n, i) New With {.Num = n, .Idx = i})
        Dim sortedNums = numsWithIndex.OrderBy(Function(nwi) nwi.Num)
        Console.WriteLine(String.Join(vbCrLf, sortedNums))

        Console.ReadLine()

    End Sub

End Module

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以使用索引对列表列表进行排序?

来自分类Dev

有没有一种方法可以覆盖CSS规则以对其进行否定?

来自分类Dev

有没有一种方法可以通过索引合并多个列表索引?

来自分类Dev

有没有一种方法可以直接存储列表的索引范围?

来自分类Dev

有没有一种方法可以遍历一组并同时添加项目并对其进行迭代?

来自分类Dev

有没有一种方法可以阻止VS 2010 VB.NET IDE进行我认为自己想做的事情?

来自分类Dev

有没有一种方法可以在VB.Net Designer中搜索控件?

来自分类Dev

有没有一种方法可以创建目录并在单个命令链中对其进行访问?

来自分类Dev

有没有一种方法可以保留和更新%let变量中的“列表”?

来自分类Dev

有没有一种方法可以创建保留列表中元素顺序的组合?

来自分类Dev

有没有一种方法可以在原始代码中插入原始javascript?

来自分类Dev

有没有一种方法可以检索知道其URL的NSPersistentStore?

来自分类Dev

有没有一种方法可以修改RLMObject而不保留它?

来自分类Dev

有没有一种方法可以在Slick中创建聚簇索引?

来自分类Dev

有没有一种方法可以执行对结构实例的索引访问?

来自分类Dev

有没有一种方法可以解决Typescript中索引签名的限制?

来自分类Dev

有没有一种方法可以选择单击时数组元素的索引?

来自分类Dev

有没有一种方法可以检查R中向量的索引限制?

来自分类Dev

有没有一种方法可以跳过数组中的索引?

来自分类Dev

有没有一种方法可以获取更新索引的镜像的时间戳记?

来自分类Dev

有没有一种方法来获取多个列表python的索引?

来自分类Dev

有没有一种方法可以将这两种VB.Net扩展方法组合为一个方法?

来自分类Dev

有没有一种方法可以在.net上合并foreach?

来自分类Dev

R / ggplot2中是否有一种方法可以对图例进行重新排序以匹配其行位置?

来自分类Dev

有没有一种方法可以确定列表的元素是否与另一个列表(具有相同索引)的元素匹配?

来自分类Dev

有没有一种方法可以在python中的特定索引处用另一个列表追加/扩展列表?

来自分类Dev

有没有一种方法可以在javascript中创建哈希图并像添加和删除值一样对其进行操作

来自分类Dev

有没有一种方法可以从带有KDB中整数列表的表中按索引选择

来自分类Dev

有没有一种方法可以将自定义对象转换为POSTED JSON,并在方法签名中对其进行验证?

Related 相关文章

  1. 1

    有没有一种方法可以使用索引对列表列表进行排序?

  2. 2

    有没有一种方法可以覆盖CSS规则以对其进行否定?

  3. 3

    有没有一种方法可以通过索引合并多个列表索引?

  4. 4

    有没有一种方法可以直接存储列表的索引范围?

  5. 5

    有没有一种方法可以遍历一组并同时添加项目并对其进行迭代?

  6. 6

    有没有一种方法可以阻止VS 2010 VB.NET IDE进行我认为自己想做的事情?

  7. 7

    有没有一种方法可以在VB.Net Designer中搜索控件?

  8. 8

    有没有一种方法可以创建目录并在单个命令链中对其进行访问?

  9. 9

    有没有一种方法可以保留和更新%let变量中的“列表”?

  10. 10

    有没有一种方法可以创建保留列表中元素顺序的组合?

  11. 11

    有没有一种方法可以在原始代码中插入原始javascript?

  12. 12

    有没有一种方法可以检索知道其URL的NSPersistentStore?

  13. 13

    有没有一种方法可以修改RLMObject而不保留它?

  14. 14

    有没有一种方法可以在Slick中创建聚簇索引?

  15. 15

    有没有一种方法可以执行对结构实例的索引访问?

  16. 16

    有没有一种方法可以解决Typescript中索引签名的限制?

  17. 17

    有没有一种方法可以选择单击时数组元素的索引?

  18. 18

    有没有一种方法可以检查R中向量的索引限制?

  19. 19

    有没有一种方法可以跳过数组中的索引?

  20. 20

    有没有一种方法可以获取更新索引的镜像的时间戳记?

  21. 21

    有没有一种方法来获取多个列表python的索引?

  22. 22

    有没有一种方法可以将这两种VB.Net扩展方法组合为一个方法?

  23. 23

    有没有一种方法可以在.net上合并foreach?

  24. 24

    R / ggplot2中是否有一种方法可以对图例进行重新排序以匹配其行位置?

  25. 25

    有没有一种方法可以确定列表的元素是否与另一个列表(具有相同索引)的元素匹配?

  26. 26

    有没有一种方法可以在python中的特定索引处用另一个列表追加/扩展列表?

  27. 27

    有没有一种方法可以在javascript中创建哈希图并像添加和删除值一样对其进行操作

  28. 28

    有没有一种方法可以从带有KDB中整数列表的表中按索引选择

  29. 29

    有没有一种方法可以将自定义对象转换为POSTED JSON,并在方法签名中对其进行验证?

热门标签

归档