String to Arrays转换

时间:2010-02-26 07:55:46

标签: c# arrays character

如果有效:

string s4 = "H e l l o";

string[] arr = s4.Split(new char[] { ' ' });        
foreach (string c in arr)
{
    System.Console.Write(c);  
}

为什么这是无效的

string s4 = "H e l l o";

char[] arr = s4.Split(new char[] { ' ' });        
foreach (char c in arr)
{
    System.Console.Write(c);  
}

我们用Splitter方法构建一个字符数组。

4 个答案:

答案 0 :(得分:5)

你的意图是说

char[] arr = s4.Split(new char[] { ' ' });

是告诉编译器比他知道的更多,分割后的部分将是每个字符长,你想将它们转换为char。你为什么不明确告诉他,例如通过说

char[] arr = s4.Split(new char[] { ' ' }).Select(c => c[0]).ToArray();

答案 1 :(得分:4)

char不是string的子类型。因此,因为string.Split返回一个字符串数组,所以它不是char数组,即使每个字符串的长度都是1。

答案 2 :(得分:2)

Split方法返回string [],而不是char []。即使每个字符串的长度为1。

如果您愿意,可以使用String.toCharArray()。

答案 3 :(得分:1)

  

为什么这是无效的

因为Split返回string[]而不是char[]

  

我们用它构建一个字符数组   拆分器方法。

参考Thomas的回答(使用linq)

由于