字符[] 与方法参数中的字符.这是MS文档中的错误吗?



根据Microsoft文档:

system.string 命名空间中的方法拆分将 char 数组作为参数。

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

我知道我可以这样使用它:

string[] myarray1=null;    
string somestring="Hi, My name is Tamara";
myarray1=somestring.Split(','); // i used char, not char[] and everything works fine...

我的问题是为什么这种方法工作正常?我使用了字符,而不是字符数组。 我无法理解这一点。也许这个问题很愚蠢,但试图提高我对文档的理解;/

注意关键字params。这意味着,您可以在不创建 char 数组的情况下调用该方法:.Split('a', 'b', 'c')。但是,如果您已经有一个 char 数组,您也可以像这样调用该方法:

char[] chars = new char[] {'a', 'b', 'c'};
string somestring="Hi, My name is Tamara";
var s = somestring.Split(chars);

第一种方法只是句法糖。

从文档:

可以发送参数声明中指定的类型的逗号分隔的参数列表或指定类型的参数数组。您也可以不发送任何参数。如果不发送任何参数,则参数列表的长度为零。

最新更新