这是我的代码:
int? BankName_dd =
int.Parse((e.Item.FindControl("BankName_dd") as DropDownList).SelectedValue) != -1 ?
int.Parse((e.Item.FindControl("BankName_dd") as DropDownList).SelectedValue) : null;
但我不明白为什么会提出这个错误,有什么建议吗?
发生这种情况是因为编译器尝试首先评估右侧。
int.Parse((e.Item.FindControl("BankName_dd") as DropDownList).SelectedValue)
是 int 且不可为 null,因此参数之间存在不匹配,即 int 和 null
如果你这样做的话,即使这样也很好。现在将第一个参数唤醒为可空 int
int? BankName_dd = int.Parse((e.Item.FindControl("BankName_dd") as DropDownList).SelectedValue) != -1 ? (int?)int.Parse((e.Item.FindControl("BankName_dd") as DropDownList).SelectedValue):null;
SO已经回答了链接 https://stackoverflow.com/questions/858080/nullable-types-and-the-ternary-operator-why-is-10-null-forbidden
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)