数据表中的DataRowCollection问题

时间:2011-05-31 12:13:18

标签: c# collections

如果rows是datatable中的集合,test.Rows[0]test.Rows[test.Rows.Count - 1]之间有什么区别。例如 如果count = o或count = -1,这将是什么情况

我的目的是确定该集合中的最后一个值。如果该集合中没有任何值,它会产生问题 以前test.Rows [0] [“Level”]总是给出18位数字,但当我进入test.Rows [test.Rows.Count - 1] [“version”]时,它给出正确的一个

所以最后我的问题是,如果count = 1,语句test.Rows [0]和test.Rows [test.Rows.Count - 1]将是相等的,或者两种语句都是相同的情况是什么 我调试了代码,如果我使用test.Rows [0] [“Level”]它总是显示一个18位常数值,为什么它显示那样。这个测试是.xsd文件中的数据表,我可以看到一个和只有'等级'行

1 个答案:

答案 0 :(得分:4)

在基于零的集合/数组/列表等中;项目0和项目count - 1分别是第一个和最后一个项目。

  

例如,如果count = o

如果集合没有任何项目,则上述任何一项通常都会导致超出范围的异常。所以......不要这样做。首先检查尺寸。

  

或count = -1

如果计数为-1,则会出现更大的问题 - 比如,你打破了宇宙

您也可以查看LINQ的FirstOrDefault() / LastOrDefault()等(两者都对类型列表进行特殊检查以尽量减少痛苦 - 但我不知道.Rows 是否< / em>技术上是一个打字列表(IList<T>) - 我怀疑不是);但通过索引器访问既方便又快捷。