我试图只选择那些父 ID = 0 的行int predecessor = Parent; StringBuilder valuePath = new StringBuilder(); valuePath.Append(Parent.ToString());DataRow[] drPar; while (true) { drPar = dt.Select("MenuID=" + predecessor); if (drPar != null) { if (drPar[0]["ParentID"].ToString().Equals("0")) break; }
drPar[0]["ParentID"].ToString().Equals("0") 给了我
越界异常..
请帮助 !
最佳答案
当没有匹配的 DataTable.Select
而是带有 null
的数组时, DataRow
不会返回 Length==0
。
但除此之外,为什么只对一个语句使用“无限”循环?
所以这应该有效:
drPar = dt.Select("MenuID=" + predecessor);
if (drPar.Length != 0)
{
if (drPar[0]["ParentID"].ToString().Equals("0"))
{
// ...
}
}
关于c# - DataTable.Select() 属性 : Giving Index Out of Bound Exception,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11893257/