Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 当需要执行以下操作时,存储键值对的最佳数据结构_Vb.net_List_Sorting - Fatal编程技术网

Vb.net 当需要执行以下操作时,存储键值对的最佳数据结构

Vb.net 当需要执行以下操作时,存储键值对的最佳数据结构,vb.net,list,sorting,Vb.net,List,Sorting,我需要存储一个键值对列表。键值对将由多个类使用,因此理想情况下,它类似于我定义的结构列表 Public Structure Person Public ID As Integer Public Weight As Decimal End Structure 'all use Person class census class importpeople class determinebestdiet etc 我需要按值排序 我需要删除一个人(按p

我需要存储一个键值对列表。键值对将由多个类使用,因此理想情况下,它类似于我定义的结构列表

Public Structure Person
    Public ID As Integer
    Public Weight As Decimal
End Structure

'all use Person
    class census
    class importpeople
    class determinebestdiet
    etc
  • 我需要按值排序
  • 我需要删除一个人(按person.ID)或添加一个新的键值对(并在每次添加后重新排序)
  • 我需要求所有值的总和
  • 似乎人们经常使用字典,然后四处闲逛。

    你可以使用
    列表来帮助你的工作

  • 使用List.Sort方法:
    list.Sort(函数(x,y)x.age.CompareTo(y.age))

    使用OrderBy扩展方法:
    theList=theList.OrderBy(函数(x)x.age).ToList()

    详情请参阅本帖:

  • 只需从列表中删除并调用
    Sort
    OrderBy

    根据您要执行的操作,您可以使用
    OrderBy
    Skip
    以及
    Take
    在排序后获取具体的第n个人

  • 只是
    Sum
    it
    PersonList.Sum(函数(每)每重量)

  • 我相信
    字典
    也能做到这一点,只是你不能只重用