= vs:在方法调用的参数中

时间:2016-11-15 16:12:24

标签: c# asp.net methods arguments

我知道 可选参数是: 方法的定义可以指定其参数是必需的,或者在定义方法时它们是可选的

但是在方法调用中,参数

中的:和=之间有什么区别
Display(name="test") 
Column(name: "id")

1 个答案:

答案 0 :(得分:8)

在第一个示例中,您将字符串@ConfigurationProperties分配给名为"test"的调用范围中的变量(无论是局部变量,参数,字段等)然后,由于赋值运算符表达式解析为指定的值,name将最终作为"test" 的第一个参数传递而不使用命名参数(意味着该片段)如果Display将其参数重命名为Display之外的其他内容,则功能相同。请注意,如果范围内没有类型为name的有效变量,则此代码将无法编译。

第二个方法调用仅将字符串name作为命名参数传递给"id",而不执行任何其他操作。