我试图声明一个大小为 3 的数组,然后使用字符串 split()
方法为数组的每个索引赋值。但是,Split()
方法似乎覆盖了数组的大小,并将其大小设置为 Split()
方法产生的子字符串的数量。
这就是我所做的,
string myString = "Hello world";
string[] myArray = new string[3];
for(int i = 0; i < 3; i++)
myArray[i] = "";
myArray = myString.Split(' ');
但再一次,当我使用 Split()
方法时,它会覆盖我的数组大小并将其设置为 2,这会给我带来麻烦。
所以我需要知道如何使用 split 方法将字符串添加到大小为 3 的数组中。如果数组包含的项少于 3 个,我想将未分配的索引设置为 ""
如果有超过 3 个子字符串,那么我只想取前三个并丢弃其余的。
在此先感谢您的帮助。
最佳答案
可以将字符串拆分的结果设置到一个新的数组中,将内容循环传递到原数组中。如果字符串拆分数组比原始数组长,则应将原始数组设置为新数组以避免越界异常。
var splitArray = myString.Split(' ');
if(splitArray.Length >= myArray.Length)
{
myArray = splitArray;
}
else
{
for(int i = 0; i < splitArray.Length; i++)
myArray[i] = splitArray[i];
}
关于c# - 使用字符串拆分方法时设置数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35350748/