为什么我不能在方法调用中使用数组定义?

时间:2016-03-22 10:34:25

标签: c# arrays

我有这段代码:

char[] c = {','};
string[] s = someString.Split(c, StringSplitOptions.RemoveEmptyEntries);

我想把它重写为:

string[] s = someString.Split({ ',' }, StringSplitOptions.RemoveEmptyEntries);

但是这会产生语法错误。为什么我不能在方法调用中使用{ ',' }

2 个答案:

答案 0 :(得分:5)

string[] s = someString.Split(new [] { ',' }, StringSplitOptions.RemoveEmptyEntries);

答案 1 :(得分:0)

您需要使用new关键字创建一个char数组实例:new [] {','}或者使用另一个Split版本并在之后过滤空字符串:

var s = someString.Split(',').Where(i => !String.IsNullOrEmpty(i)).ToArray();