【发布时间】:2015-09-13 22:18:30
【问题描述】:
我正在查看MVC tutorial,并在函数开头看到这行代码:
private void PopulateDepartmentsDropDownList(object selectedDepartment = null)
经过测试,我可以看到函数工作,但我不明白函数参数是如何工作的。 object selectedDepartment = null 是做什么的?
我进行了一般的互联网搜索,但尚未找到答案。
我想我的问题确实有两个方面:
- 参数的
= null部分有什么作用? - 这是可以做但不一定应该做的事情吗?
【问题讨论】:
-
参数的
= null部分使其成为可选参数,将为该参数提供默认值 null。如果您想要允许可选参数的多态方法,它可能是有效的。 -
对术语的挑剔 - 您所展示的是一个参数。参数总是在方法被声明的地方——arguments总是在方法被调用的地方,提供值。泛型类型参数/类型参数也是如此——在
List<T>的声明中,T是一个类型参数。当您谈论特定的具体列表类型时,例如List<string> x = new List<string>();这里string是类型参数。 -
如果它建议更好的语言使用,这不是挑剔。我会更新问题中的语言。
标签: c# .net optional-parameters