Arrays 如何在visual basic中合并三个数组?

Arrays 如何在visual basic中合并三个数组?,arrays,vb.net,for-loop,Arrays,Vb.net,For Loop,我想在一个数组中合并三个数组 Dim arr() = 1 4 7 10 Dim arr2() = 2 5 8 11 Dim arr3() = 3 6 9 12 Dim arr4() for i=0 to ubond.(arr1)+2 ?????????????? Next The result should be arr4()= {1 2 3 4 5 6 7 8 9 10 11 12} 致以最诚挚的问候我只想将它们与LINQ连接并排序: Dim arr4 = arr.Concat(

我想在一个数组中合并三个数组

Dim arr() = 1 4 7 10 
Dim arr2() = 2 5 8 11
Dim arr3() = 3 6 9 12

Dim arr4()

for i=0 to ubond.(arr1)+2

??????????????
Next

The result should be arr4()= {1 2 3 4 5 6 7 8 9 10 11 12}


致以最诚挚的问候

我只想将它们与LINQ连接并排序:

Dim arr4 = arr.Concat(arr2).Concat(arr3).OrderBy(Function(x) x)
是否调用.ToArray是可选的,取决于您对arr4的操作。如果您将使用foreach循环枚举它,您可以像上面那样保留它。如果您将随机访问它或将它作为int数组传递,那么就调用它的ToArray

确保您导入了System.Linq

如果不想使用LINQ,可以使用一个简单的循环:

Dim arr4() as New Integer(arr.Length * 3 - 1)

For x = 0 to arr.Length - 1 Step 1
  arr4(3*x) = arr(x)
  arr4(3*x+1) = arr2(x)
  arr4(3*x+2) = arr3(x)
Next x
这是完全不同的工作方式-LINQ版本会制作一个1 4 7 2 5 8 3 6 9的数组,然后对其进行排序,这一个会自然地将位按正确的顺序排列,但是如果您的数据没有按这种方式排序,这两种方法将产生不同的输出