我们可以简化表达式Model == null吗?新的SelectList(性别,“值”,“文本”):新的SelectList(性别,“值”,“文本”,模型);?

时间:2011-03-23 09:16:21

标签: c#

Model == null ? 
new SelectList(genders, "Value", "Text") : 
new SelectList(genders, "Value", "Text", Model);

我想避免两次写new SelectList(genders, "Value", "Text",这可能吗?

2 个答案:

答案 0 :(得分:5)

如果你只是使用

会发生什么
new SelectList(genders, "Value", "Text", Model)

让它传入null引用...是第四个参数肯定意味着是非空的吗?

编辑:作为替代方案,您可以使用默认值吗?

new SelectList(genders, "Value", "Text", Model ?? Genders.Male)

答案 1 :(得分:0)

一切都取决于构造函数,并且有很多可能来管理它,你可以选择三种方法。

1:如果没有一些重要后果,当你为null时,你可以通过该模型。

2:使用new SelectList(genders, "Value", "Text") :创建对象,然后使用属性设置模型。

3:为Model实现NullPatter并在null时使用它。