如果有效:
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方法构建一个字符数组。
答案 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)
由于