C# 将字符串数组分隔为多个小数组

C# 将字符串数组分隔为多个小数组,c#,C#,如何在较小的阵列中分离阵列 string[] str = new string[145] 我想要两个数组;像 string[] str1 = new string[99]; string[] str2 = new string[46]; 如何从str的源代码中执行此操作 1-然后我想把数组放在一起放到列表中,但是只有additem?没有添加项目吗?或者使用LINQ重新生成字符串[145]数组的任何其他方法。最简单的方法: string[] str1 = str.Take(99).ToArra

如何在较小的阵列中分离阵列

string[] str = new string[145]
我想要两个数组;像

string[] str1 = new string[99];
string[] str2 = new string[46];
如何从str的源代码中执行此操作


1-然后我想把数组放在一起放到列表中,但是只有additem?没有添加项目吗?或者使用LINQ重新生成字符串[145]数组的任何其他方法。

最简单的方法:

string[] str1 = str.Take(99).ToArray();
string[] str2 = str.Skip(99).ToArray();
将它们重新组合在一起:

str = str1.Concat(str2).ToArray();
这些方法不会有很大的效率,但它们非常简单:)如果你需要更高的效率,这可能是最好的方法。。。但是,要正确操作需要付出更多的努力。

您可以使用从源数组到另一个数组获取某些项

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.AddRange
方法:

var array = new string[145];
var list = new List<string>();
list.AddRange(array);
var数组=新字符串[145];
var list=新列表();
list.AddRange(数组);

最简单的解决方案是使用foreach()或for(),或者您想使用LINQ?nice没有想到:)注意,这只回答了第二个问题。不是第一个关于将阵列分成两个更小的arrays@PoweRoy:那是因为第一部分已经回答了!这就是答案,因为我们这里没有林肯。