如何在VB.NET中从较大的数组中获取子数组?

Yug*_*dle 3 .net vb.net arrays

我有:

Dim arr() As String = {"one","two","three"}
Run Code Online (Sandbox Code Playgroud)

我想要一个新的数组,只sub包含{"one","three"}.这样做的最佳方法是什么?

Hei*_*nzi 6

对于这种特殊情况,最简单的选择就是列出要复制的两个项目:

Dim sub = {arr(0), arr(2)}
Run Code Online (Sandbox Code Playgroud)

在一般情况下,如果你想获取第一个项目,跳过一个项目,然后采取所有其余的,一个简单的选择是使用LINQ扩展方法:

Dim sub = arr.Take(1).Concat(arr.Skip(2)).ToArray()
Run Code Online (Sandbox Code Playgroud)

它产生了

  • {"one"}(arr.Take(1))
  • 与(Concat)连接
  • {"three"}(arr.Skip(2))
  • 进入一个新的数组(ToArray())

文档: