见下面的方法定义。
在C#中称为什么,其中等号是在方法参数中。
是否默认方法参数初始化??
public List<Iabc> MyMethod(out List<Ixyz> faces, Type typeXYZ = null, int flag = -1)
{
//...
//...
}
注意:此处Iabc
和Ixyz
是任何接口。
答案 0 :(得分:10)
它们被称为可选(或命名)参数。 MSDN通常会很好地解释这些事情:
答案 1 :(得分:3)
使用命名参数时,请注意更改参数名称将破坏代码。 (使用命名参数)
另外,请记住,默认值实际存储在调用站点中,这意味着如果您稍后更改默认值,则调用该方法并在更改之前编译的代码,将仍然使用旧值。它可能在所有情况下都无关紧要,但需要注意的事项。
答案 2 :(得分:2)
这是C#4.0中的optional argument