C#隐式数组声明

问题描述:

基本上,我希望能够使用string.Split(char[])而不实际将char数组定义为单独的变量。我知道在其他语言,你可以像string.split([' ', '\n']);或类似的东西。我将如何在C#中执行此操作?C#隐式数组声明

这不是很漂亮,但:string.Split(new char[] { ' ', '\n' });

+1

注意,在C#3你还可以这样eliding的“字符”稍微漂亮。编译器会发现新的[] {x,y,z}表示“x,y和z最佳常见类型的新数组”。 – 2010-05-09 15:09:39

+0

真棒,很高兴知道。我猜这是可能的,因为为LINQ完成的类型推断工作。 – 2010-05-09 19:45:56

您可以使用此重载:

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');