我的对象通常具有可空类型属性,用作SQL命令参数.
我下一步初始化它们:
public int? Amount
{
get
{
int i;
int? amount = null;
if (Int32.TryParse(Request["amount"], out i))
{
amount = i;
}
return amount;
}
}
command.Parameters.Add("@amount").Value = (object)this.Amount ?? DbNull.Value;
Run Code Online (Sandbox Code Playgroud)
如何重写这样的初始化代码以使其更短或更快?
首先,不要这样做; 你正默默地放弃你无法解析数据的事实!最好在这种情况下抛出异常,或处理预期的情况(null例如).
string val = Request["amount"];
return string.IsNullOrEmpty(val) ? (int?)null : (int?)int.Parse(val);
Run Code Online (Sandbox Code Playgroud)