我有一个MVC应用程序,用户可以选择公司benfits,有10种不同的好处,他们可以没有达到所有这10个。在我看来,我列出了十个单选按钮,以表明它们是否是必需的。还有一个在控制器中执行的计算,它将所有值加在一起以得到总数。
作为我控制器中的一个例子 -
newuser.LifeAssurance.LifeAssuranceRequired = viewModel.LifeAssuranceRequired;
newuser.LifeAssurance.LifeAssuranceSchemeName = viewModel.LifeAssuranceSchemeName;
newuser.LifeAssurance.LifeAssuranceProviderName = viewModel.LifeAssuranceProviderName;
newuser.LifeAssurance.LifeAssuranceBenefitLevel = viewModel.LifeAssuranceBenefitLevel;
newuser.LifeAssurance.LifeAssuranceEmployerCost = viewModel.LifeAssuranceEmployerCost;
newuser.LifeAssurance.LifeAssuranceEmployeeCost = viewModel.LifeAssuranceEmployeeCost;
由于用户可能决定不选择此优惠,如果未在视图模型中进行选择,是否可以将成本分配为0?我可以检查它是否为null并在这种情况下加0?
答案 0 :(得分:4)
您可以使用??
运算符(请参阅here)
像这样使用它:
string someString = null;
string someOtherString = someString ?? "0";
如果someString(或任何其他对象)不为null,则使用它,否则使用??
运算符右侧的任何内容。
答案 1 :(得分:2)
也许可以通过添加nullable
来将您的值设置为?
,然后您可以通过以下方式检查它是否为空:
var someValue = (nullableValue.HasValue) ? nullableValue.Value : 0;