【发布时间】:2014-01-31 21:53:24
【问题描述】:
当代码行下面的两个列表都被填充时,我的代码可以正常工作。 但是错误“值不能为空”。当 LstNewItems 设置为 null 时发生。 为什么以及如何解决这个问题,或者我是否必须事先检查每个列表是否为空并采取相应措施?
this.radGridViewFiles.BeginInvoke((MethodInvoker)(
() => this.radGridViewFiles.DataSource = MyGlobals.ListOfItemsToControl
.Concat(MyGlobals.lstNewItems)
.ToList()
));
【问题讨论】:
-
如果可能的话,永远不要让自己处于列表为 null 的位置,这样您就不需要检查 null 并以任何不同的方式处理这种情况。拥有一个空列表而不是
null几乎总是更可取的。 -
检查并采取相应措施将有资格修复它 :-) 但是拥有
null列表是 IMO 的轻微代码气味,也许它应该修复在那个级别。 -
@Servy 你是绝对正确的 - 我将列表设置为 null 我应该有 MyGlobals.lstNewItems.Clear() - 谢谢 - 你想把它作为答案吗?
标签: c# list concatenation