Nas*_*loo 1 c# asp.net conditional conditional-operator
我有一个简单的条件,并希望用?:关键字实现它,但编译器不要让我.这是确切的样本
// in asp page decleration
<ajaxtoolkit:FilteredTextBoxExtender id="ftbeNumeric" runat="server" TargetControlID="textbox1" FilterType="Numbers" />
<asp:TextBox ID="textbox1" runat="server" />
// in code behind
decimal x = textbox1.Text != string.IsNullOrEmpty ? Convert.ToDecimal(textbox1.Text) : 0;
Run Code Online (Sandbox Code Playgroud)
我也试试这个
// in code behind
decimal x = Convert.ToDecimal(textbox1.Text) != 0 ? Convert.ToDecimal(textbox1.Text) : 0;
Run Code Online (Sandbox Code Playgroud)
这些样品的bith面临错误.
如何用?:关键字定义这个?并注意textbox.text`可能为null.
考虑将其改为类似的东西
decimal x;
if (!decimal.TryParse(textbox1.Text, out x))
{
// throw an exception?
// set it to some default value?
}
Run Code Online (Sandbox Code Playgroud)
当然,如果你想在无效/缺失输入上抛出异常,你可以简单地使用.Parse方法,它会为你抛出一个.但是使用.TryParse将允许您自定义异常的消息或者只是以另一种方式处理它,例如重新设置用户.
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |