在c#中转换为double时将默认值设置为null
发布时间:2020-12-15 18:24:35 所属栏目:百科 来源:网络整理
导读:如果在从string转换为double时字符串为空,我想传递null.有人可以帮我解释语法吗?我哪里出错了? 当前语法: IngredientMinRange = !string.IsNullOrEmpty(MinRange) ? Convert.ToDouble(MinRange) : null 解决方法 double不能为null,因为它是值而不是引用类
如果在从string转换为double时字符串为空,我想传递null.有人可以帮我解释语法吗?我哪里出错了?
当前语法: IngredientMinRange = !string.IsNullOrEmpty(MinRange) ? Convert.ToDouble(MinRange) : null 解决方法
double不能为null,因为它是值而不是引用类型.您可以使用
Nullable<double> 代替:
double? ingredientMinRange = null; if(!string.IsNullOrEmpty(MinRange)) ingredientMinRange = Convert.ToDouble(MinRange); 如果您以后想要double值,可以使用HasValue和Value属性: if(ingredientMinRange.HasValue) { double value = ingredientMinRange.Value; } Using Nullable Types (C# Programming Guide) 如果IngredientMinRange已经是Double?-property,你可以通过if(如上所示)或在一行中分配值,但是你必须转换null: IngredientMinRange = string.IsNullOrEmpty(MinRange) ? (double?)null : Convert.ToDouble(MinRange); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |