我有一个简单的条件,并希望与?:
关键字实现它,但编译器不让我。这是确切的样品如何使用?字符串的关键字
// 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;
我也试试这个
// in code behind
decimal x = Convert.ToDecimal(textbox1.Text) != 0 ? Convert.ToDecimal(textbox1.Text) : 0;
这些采样脸,错误的bith。
如何用?:
关键字定义这个?并注意textbox
.text`可能为空。
由于Oak表示IsNullOrEmpty不是一个属性,它是一种静态方法。 看来你想要将一个字符串转换为小数,如果它有一个值(非空或空),如果值不能转换为小数,可能导致InvalidCastException。因此,我建议使用更清晰和更安全的方法(比如Anthony Pegram说的)。这种方法的优点是它显示了什么意图完成,例如默认值已被故意选择或引发了自定义异常 – Beatles1692 2010-06-20 06:09:07