C#隐式数组声明

4

基本上,我想使用string.Split(char[])而不必将char数组定义为单独的变量。我知道在其他语言中,你可以像string.split([' ', '\n']);这样做。在C#中该如何实现?

3个回答

8
这是一个非常好的方法:
string[] s = myString.Split("abcdef".ToCharArray());

以上等同于:
string[] s = myString.Split('a', 'b', 'c', 'd', 'e', 'f');

1

您可以使用此重载:

public String [] Split(params char [] separator)

像这样:

yourstring.Split(' ', '\n')

1

虽然不太美观,但是可以这样写:string.Split(new char[] { ' ', '\n' });


1
请注意在C# 3中,您可以通过省略 "char" 来使其更美观。编译器会计算出“new[] {x,y,z}”表示“x、y和z的最佳公共类型的新数组”。 - Eric Lippert
太棒了,好知道。我猜这是由于针对LINQ进行的类型推断工作所以可能实现。 - Chris Schmich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接