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的数组,然后对其进行排序,这一个会自然地将位按正确的顺序排列,但是如果您的数据没有按这种方式排序,这两种方法将产生不同的输出