这些空数组String.Split方法调用有什么区别?

Rya*_*hel 0 c# string refactoring split

这两行代码之间有什么区别吗?

1) someString.Split(new[] { ';' });

2) someString.Split(';');

我看到我正在编写的代码中的第一个,并且想知道我是否可以安全地将其更改为第二个或者为什么他们选择以第一种方式执行此操作.

谢谢.

Ant*_*ram 9

public string[] Split(params char[] separator)
Run Code Online (Sandbox Code Playgroud)

方法参数是params char[].该params关键字意味着你可以明确地提供一个数组,或者让编译器为您创建一个.在第一个表单中,您将明确提供该数组.当然,如果要使用该方法的其他重载来指定其他行为,则需要使用此表单.否则,您可以简单地使用第二个表单并列出分隔符,并以逗号分隔,以便于使用.

为什么以前的编码器选择第一种形式而不是第二种,我不能说.我不知道先前框架版本中需要显式数组的方法表单.但是,如果您愿意,您应该可以安全地更改表单,并且您肯定会测试以验证预期的行为.