linq.ValueNullable对象必须有值。如何跳舞我有一些有时为空的linq代码:ToString()});但TourOpID有时会在a.Value.ToString()上引发错误。我怎么解决这个问题?出现此问题是因为您访问了Nullable类型的Value属性,该属性为null(或更准确地说,其HasValue属性为false)。如何解决这个问题取决于你想做什么:如果你想过滤掉TourOpID为null的项目,只需添加一个where子句:...(frombinCompleteDatawhereb.TourOpID!=null//filterselectb.TourOpID).Distinct()...如果您想使用替换值,例如0,如果TourOpID为空,请使用空合并运算符??,将您的int?转换为int:...(从CompleteData中的b选择b.TourOpID??0).Distinct()...或者,...选择新的ComboBoxItemString(){ValueString=a.GetValueOrDefault().ToString()});如果您只想在TourOpID为nullComboBox条目时显示不同,请使用三元运算符?:::...选择新的ComboBoxItemString(){ValueString=(a==null?"notouroperator":a.Value.ToString())});如果您想在a为null时显示空字符串,解决方案甚至更简单:...selectnewComboBoxItemString(){ValueString=a.ToString()});因为Nullable.ToString如果没有值则返回一个空字符串。使用wherefrombinCompleteDatawhereb.TourOpID!=nullselectb.TourOpID为什么不使用ValueString=a.ToString()而不是ValueString=a.Value.ToString()。如果a有一个值,它将把这个值返回给字符串,否则-a.ToString()将返回空字符串。IEnumerablearr=newList{1m,4m,null,10m,6m};foreach(var@decimalinarr){Console.WriteLine(@decimal.ToString());}输出结果为:以上是C#学习教程:linq。ValueNullable对象必须有一个值。howtodance分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——14106本文收集自网络,不代表一个位置。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
