arrays - 如何在visual basic中合并三个数组?
问题描述
我想将三个数组合并到一个数组中。
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
确保你Imports 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 的数组,然后对其进行排序,这个将位自然地以正确的顺序排列,但如果您的数据没有以这种方式排序两种方法会产生不同的输出!
推荐阅读
- rabbitmq - RabbitMQ - 应用程序未在 Windows 10 Home 中启动
- python - 如何使用 matplotlib 使用 groubby 绘制数据
- python - How can I solve variables in pandas dataframe?
- c# - 是否可以解析运行时派生类 T 值的“ObjectResult”基础的“StatusCode”?
- javascript - How to render local PDF file with PDF.js library?
- azure - 在 Azure Functions 应用中存储 Azure ConnectionString 的位置
- javascript - 如果对象具有特定值,则使用 Mongo 脚本更新对象
- tsql - 如何在 SQL 存储过程中编写条件?
- azure - 通过管理组强制所有 Azure 访问
- python - 读取 csv 时 Pandas dtype 选项错误