我正在循环遍历数据表中的每一行:
foreach (DataRow row in dt.Rows) {}
我想要获取dt数据表格中当前行的索引。例如:
int index = dt.Rows[current row number]
我应该如何做这件事?
int index = dt.Rows.IndexOf(row);
但你最好使用for循环而不是foreach。
如果你需要正在处理的项的索引,那么使用 foreach
循环迭代集合是错误的方法。改变循环方式以获取索引:
for(int i = 0; i < dt.Rows.Count; i++)
{
// your index is in i
var row = dt.Rows[i];
}
为什么不试试这个?
for(int i=0; i < dt.Rows.Count; i++)
{
// u can use here the i
}
在这里您有两个选项。
每行数据仅表示数据本身,因此它不知道它位于哪一行。
您知道DataRow是DataTable的行吗?
您目前已经遍历了每一行,只需跟踪有多少行即可获取当前行。
int i = 0;
int index = 0;
foreach (DataRow row in dt.Rows)
{
index = i;
// do stuff
i++;
}
ArrayList check = new ArrayList();
for (int i = 0; i < oDS.Tables[0].Rows.Count; i++)
{
int iValue = Convert.ToInt32(oDS.Tables[0].Rows[i][3].ToString());
check.Add(iValue);
}
尝试:
int i = Convert.ToInt32(dt.Rows.Count);
我认为这是最短、也是最简单的方法。