我在一本书中查看了php的函数参考,然后我遇到了这些函数的描述,我无法理解这两个定义之间的差异是什么?
function some_function([b], [c])
和
private void ToolStripPro_ControlAdded(object sender, ControlEventArgs e)
{
if (!CheckType(e.Control.GetType(), typeof(ToolStripProControl)))
{
this.Controls.Remove(e.Control);
}
Invalidate();
}
答案 0 :(得分:3)
语法描述中的方括号通常表示内容是可选的。第一个函数描述表明您可以将函数调用为:
some_function(); // no arguments
some_function(b); // just supply b
some_function(b, c); // supply both b and c
这是因为可选参数c
位于列出两个参数的括号内。
第二个描述说两个参数都是可选的,但它们之间没有依赖关系。所以它可以被称为:
some_function(); // no arguments
some_function(b); // just supply b
some_function(c); // just supply c
some_function(b, c); // supply both b and c
这意味着b
和c
必须是不同的类型,因此当您使用单个参数调用它时,它会确定它是b
还是{{1基于它的类型。函数的描述应该解释这一点。