为什么根据空格分隔会报错
时间: 2024-03-02 16:52:33 浏览: 77
在使用Split方法时,如果不指定分隔符,则默认使用空格作为分隔符。但是,如果字符串中包含多个连续的空格,Split方法将会返回一个包含空字符串元素的数组。例如,以下示例代码将字符串"apple banana orange"按空格分割成一个字符串数组:
```csharp
string str = "apple banana orange";
string[] arr = str.Split();
foreach(string s in arr)
{
Console.WriteLine(s);
}
```
输出结果为:
```
apple
banana
orange
```
可以看到,在分割后的数组中,有一个空字符串元素,这是因为原始字符串中有两个连续的空格。如果您想要忽略这些空字符串元素,可以使用Split方法的重载版本,该版本接受一个字符数组作为分隔符参数,例如:
```csharp
string str = "apple banana orange";
char[] separator = {' '};
string[] arr = str.Split(separator, StringSplitOptions.RemoveEmptyEntries);
foreach(string s in arr)
{
Console.WriteLine(s);
}
```
输出结果为:
```
apple
banana
orange
```
在上面的示例中,我们将一个包含一个空格字符的字符数组作为分隔符传递给Split方法,并使用StringSplitOptions.RemoveEmptyEntries选项来指示Split方法忽略空字符串元素。