我正在访问端点并获取JSON。我遍历对象,然后将值放在双字段中。有时该提交的文件将为空。我该如何处理null情况。目前我的代码如下:
double scanning_risk = double.Parse(JSONrecord[i].scanning_risk.ToString());
仅供参考。我能够使用GetValueOrDefault()函数处理INT变量的空错误,如:
int Firm_Id = JSONrecord[i].Firm_Id.GetValueOrDefault();
以下是我处理字符串的方式:
string Deleted_At = JSONrecord[i].Deleted_At == null
? ""
: JSONrecord[i].Deleted_At.ToString();**
当double字段为空时,是否有类似的GetValueOrDefault()函数用于处理双重或类似的方法?
谢谢!
答案 0 :(得分:2)
它应该与int
s:
double scanning_risk = JSONrecord[i].scanning_risk.DefaultOrEmpty();
当然,假设scanning_risk
是Nullable<double>
字段。
答案 1 :(得分:0)
此代码将返回double
的值或默认值(0):
double scanning_risk = 0;
double.TryParse(JSONrecord[i].scanning_risk.ToString(), out scaning_risk);
如果您null
可以使用JSONrecord[i].scanning_risk
:
double scanning_risk = 0;
double.TryPerse(JSONrecord[i].scanning_risk == null ? "" : JSONrecord[i].scanning_risk.ToString(), out scanning_risk);
如果string包含非数字值,此方法还会为double
返回正确的默认值(0)。
答案 2 :(得分:0)
谢谢大家。
这是我最终使用的:
double spread_charge = row.spread_charge == null
? 0
: double.Parse(row.spread_charge.ToString());
我的json类有两倍?差价收费
答案 3 :(得分:-1)
double scanning_risk = 0;
if(!string.IsNullOrWhitespace(JSONrecord[i].scanning_risk.ToString())) {
scanning_risk = double.Parse(JSONrecord[i].scanning_risk.ToString());
}