2013-02-19 80 views
0

我有一个循环,并在此循环中每当我得到3个不同的值,x,r和c时。我想要一个数组(我尝试过使用列表,但我不知道如何对它进行排序,搜索了很多!),它将在循环的每一轮中输入所有3个值在一个新的自动索引中的数组,最后我想根据递增值(x,然后r,然后c)对整个数组进行排序。排序数组(或列表)

例如,这些都是我在获取添加一个数组值(我不需要为这个数组的值,这些值(1,2,3)的值,就像一个表)

storage(1,2,3) 
storage(2,3,4) 
storage(3,4,5) 
storage(4,5,6) 

这3个实际上是一个容器在不同堆栈中位置的坐标,我想知道哪一个更靠近表面,并且更接近堆栈。因此,我将它们添加到一个数组,然后我将它们进行排序,以便我能找到哪一个更接近(前提是所有的这些都为同一类型的容器,位于不同地点的比赛)

回答

0

只需使用方法.Sort()。它将使用由Array的每个元素实现的IComparable接口。如果您不指定自定义比较器,则它将使用默认值,这对于Integer值是正确的。

阵:

Dim iNums() As Integer = New Integer() {1, 11, 7, 5} 
Array.Sort(iNums) 

列表:

Dim aux As New List(Of Integer)(New Integer() {1, 11, 7, 5}) 
aux.Sort() 

如果你需要,你可以定义你自己的比较器:
http://msdn.microsoft.com/en-us/library/system.icomparable(v=vs.71).aspx