我有一个DataTable,我试图逐行访问DataRow,如下所示:
dataTable.Select("someID=" + someID.ToString()).CopyToDataTable().Rows.Count;
这适用于0-9的someID,但是当我到达10时,我得到一个System.InvalidOperationException。在Visual Studio DataTable Visualizer中,我可以将someID视为数据为0-24的列之一,因此应该有10个。
当我使用ImmediateWindow并查看dataTable.Select("someID=10")
时,我得到了
{System.Data.DataRow[0]}
并查看dataTable.Select("someID=9")
给了我
{System.Data.DataRow[1]}
我错过了什么?
答案 0 :(得分:1)
那么,当你需要的只是匹配数量时,为什么还需要CopyToDataTable()
方法呢?你可以简单地使用Length
或Count
,不是吗?
x = dataTable.Select("someID=" + someID.ToString()).Length;