gpt4 book ai didi

c# - 访问数据表中的下一行

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:12 25 4
gpt4 key购买 nike

我正在尝试使用 for 循环访问和更改数据表中下一行的值,但出现错误:

System.IndexOutOfRangeException: There is no row at position 247.

我知道在最后一个循环中,它不会找到下一行。但是我检查它是否存在,然后只修改值,但它不起作用。
这是我的代码:

for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow _row = dt.Rows[i];
if (_row[1].ToString() != "" && _row[0].ToString() != "")
{
int temp = i + 1;
if (dt.Rows[temp].GetType() == typeof(DataRow))
{
dt.Rows[temp][0] = _row[0].ToString();
}
}
}

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

这会失败,因为没有要获取的行,所以它甚至在调用 GetType 之前就失败了:

if (dt.Rows[temp].GetType() == typeof(DataRow))
// ^^^^^^^^^^^^^ <-- throws an IndexOutOfRangeException here

相反,您可以迭代到比行数少一:

for (int i = 0; i < dt.Rows.Count - 1; i++)
{
DataRow row = dt.Rows[i];
DataRow nextRow = dt.Rows[i + 1];
// ...
}

如果你想对最后一行做一些特殊的事情,你可以在循环之后做。

关于c# - 访问数据表中的下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11336305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com