C#隐式数组声明
问题描述:
基本上,我希望能够使用string.Split(char[])
而不实际将char数组定义为单独的变量。我知道在其他语言,你可以像string.split([' ', '\n']);
或类似的东西。我将如何在C#中执行此操作?C#隐式数组声明
答
这不是很漂亮,但:string.Split(new char[] { ' ', '\n' });
答
您可以使用此重载:
public String [] Split(params char [] separator)
这样的:
yourstring.Split(' ', '\n')
答
这里有一个非常好的办法做到这一点:
string[] s = myString.Split("abcdef".ToCharArray());
以上是e quivalent到:
string[] s = myString.Split('a', 'b', 'c', 'd', 'e', 'f');
注意,在C#3你还可以这样eliding的“字符”稍微漂亮。编译器会发现新的[] {x,y,z}表示“x,y和z最佳常见类型的新数组”。 – 2010-05-09 15:09:39
真棒,很高兴知道。我猜这是可能的,因为为LINQ完成的类型推断工作。 – 2010-05-09 19:45:56