Nei*_*l N 8 .net intellisense visual-studio
根据String.Split上的 Intellisense和MSDN doc,没有string.Split的无参数重载.但如果我输入
string[] foo = bar.Split();
Run Code Online (Sandbox Code Playgroud)
它汇编.它有效.我已经在Visual Studio 2008和2010中验证了这一点.在这两种情况下,intellisense都不会显示无参数的重载.
是否有一个原因?MSDN/Intellisense文档中是否还有其他缺失的重载?通常浏览intellisense中的重载是我如何最好地确定使用哪个重载.我讨厌在整个.Net框架中错过其他可用选项.
编辑:如上所示,它在空格上分裂.
dri*_*iis 16
这是因为斯普利特有一个参数超载.不提供参数与给出空数组相同.换句话说,你正在调用这个重载.
"some text".Split();
Run Code Online (Sandbox Code Playgroud)
是相同的:
"some text".Split(new char[0]);
Run Code Online (Sandbox Code Playgroud)
以下是params关键字的文档.您可能知道,它用于为方法提供可变数量的参数.这个数字可能为零.
我打赌它匹配这个String.Split重载:
public string[] Split(params char[] separator)
{
return this.Split(separator, 0x7fffffff, StringSplitOptions.None);
}
Run Code Online (Sandbox Code Playgroud)
此函数可接受0个参数.如果没有分隔符,则默认为空格.
实际上你在这里调用的是string.Split(params char [] separator)
您可以发送以逗号分隔的参数声明中指定类型的参数列表,或者指定类型的参数数组.你也可以不发送任何参数.
| 归档时间: |
|
| 查看次数: |
728 次 |
| 最近记录: |