在Java中,
String.split("");
是可能的。 例如)
String[] str = "Hello world!".split("")
像这样,我想拆分String而没有转义序列。 但是在C#中,我尝试了一下,IDE却说“错误”。有什么解决办法吗?
编辑)
代码:
String[] str = "Hello world!".split("");
结果是str[0] = H
,str[1] = e
,...(在Java中)
在C#中,我尝试了
strI[i] = "Hello World!".Split('');
结果是
'错误CS1011:空字符文字 我想用空文字分割字符串。
答案 0 :(得分:0)
出现错误的原因是,没有与您的呼叫相匹配的签名方法。换句话说,当您调用Split方法时,必须将第一个参数传递为字符数组或字符串数组,而将第一个参数传递为简单的字符串。
以下调用不会引发任何错误,因为它与Split方法的签名匹配。
string[] sArray = s.Split(new string[] {""}, StringSplitOptions.None);
但是,上述方法将不会产生任何效果,因为结果数组将仅包含一个值为原始字符串的元素。
如果您的目标是将字符串分割成单个字符,则可以使用以下代码。
string s = "some string";
var splitString = s.ToCharArray();
答案 1 :(得分:0)
请注意,String.Split()
的重载方法都不能像您所使用的那样将字符串作为第一个参数。以下是可能的overloaded methods
您要寻找的是将字符串拆分为字符。为此,您可以依靠String.ToCharArray Method
,它将把该实例中的字符复制到Unicode字符数组。:
char[] charArray = "Hello world!".ToCharArray();
这样我们就可以使用它们的索引访问每个字符,这意味着-charArray[0]
将是H
。
如果您需要将字符拆分为字符串数组,则可以使用以下内容:
string[] strArray = "Hello world!".Select(x=> x.ToString())
.ToArray();