Array.Split能否拆分数组为块?其用途及实现方式咨询
Array.Split 实际用途与数组分块实现说明
一、Array.Split 的实际用途
Array.Split 方法的核心作用是基于指定的分隔符元素拆分数组,而非按固定块大小分割。它会遍历数组,把与传入参数匹配的元素作为拆分点,将数组切割成多个不含分隔符的子数组。
你写的代码里传入了2,但原数组{10,20,30,40,50,60}中没有等于2的元素,找不到拆分点,所以整个数组作为一个块返回。
举个正确使用的例子:
Dim array = New Integer() {10, 2, 30, 2, 50} Dim splitArray = array.Split(2) ' 结果会得到三个子数组:{10}, {30}, {50}
二、能否用 Array.Split 实现数组分块?
不能直接用 Array.Split 按固定块大小拆分数组——它的设计逻辑就是围绕分隔符,而非长度。如果要实现按块大小分数组,得自己编写逻辑,比如用 LINQ 或者循环实现:
VB.NET 按块大小分数组的示例代码
Dim array = New Integer() {10, 20, 30, 40, 50, 60} Dim chunkSize = 2 ' 指定每个块的大小 Dim splitArray = Enumerable.Range(0, (array.Length + chunkSize - 1) \ chunkSize) _ .Select(Function(i) array.Skip(i * chunkSize).Take(chunkSize).ToArray()) _ .ToArray() ' 结果会得到三个子数组:{10,20}, {30,40}, {50,60}
内容的提问来源于stack exchange,提问作者user4951
相关产品推荐
相关产品推荐

