如何将一个数组分成更小的数组?
string[] str = new string[145]
我需要两个数组来完成这个任务,就像这样:
string[] str1 = new string[99];
string[] str2 = new string[46];
我该如何从str的源代码中做到这一点?
1- 然后我想将数组全部组合成一个列表,但只有添加项?没有添加多个项?或者其他任何使字符串[145]数组再次成为可能的方法。
如何将一个数组分成更小的数组?
string[] str = new string[145]
string[] str1 = new string[99];
string[] str2 = new string[46];
我该如何从str的源代码中做到这一点?
1- 然后我想将数组全部组合成一个列表,但只有添加项?没有添加多个项?或者其他任何使字符串[145]数组再次成为可能的方法。
使用LINQ最简单的方式:
string[] str1 = str.Take(99).ToArray();
string[] str2 = str.Skip(99).ToArray();
重新组装它们:
str = str1.Concat(str2).ToArray();
这些方法并不是非常高效,但它们非常简单 :) 如果需要更高的效率,Array.Copy
可能是更好的选择... 但需要花费一点点额外的努力。
Array.Copy
方法将源数组中的某些项复制到另一个数组中。string[] str1 = new string[99];
string[] str2 = new string[46];
Array.Copy(str, 0, str1, 0, 99);
Array.Copy(str, 99, str2, 0, 46);
要创建一个列表,请使用 List<T>.AddRange
方法:
var array = new string[145];
var list = new List<string>();
list.AddRange(array);