2个回答
展开全部
foreach:加强的for循环
ds:DataSet(可以放多个Table,也就是可以放多个表)
意思是:循环ds中第一个Table的所有行 。
不懂的话 可以继续追问我。
ds:DataSet(可以放多个Table,也就是可以放多个表)
意思是:循环ds中第一个Table的所有行 。
不懂的话 可以继续追问我。
追问
关键是谁 循环了ds中第一个Table的所有行 我不是很清楚
追答
嗯 这样来看
首先 ds是一个DataSet , ds.Tables[0]就是 ds中的第一个表, ds.Table[0].Rows就是这个表中的所有行,
可以改写一下:
DataRow[] Rows;(先定义一个Rows数组)
Rows = ds.Tables[0].Rows;(然后给这个Rows数组赋值)
foreach (DataRow dr in Rows)(然后 循环Rows数组)
foreach会自动循环Rows数组中所有项。
不需要判断当前循环的是第一个还是最后一个。
解读:
foreach (DataRow dr in Rows)
{
//TODO
//循环处理
}
假设Rows中有3行,自动循环会进行以下处理:
DataRow dr = Rows[0]; .....接着{ 循环处理 }
DataRow dr = Rows[1]; .....接着{ 循环处理 }
DataRow dr = Rows[2]; .....接着{ 循环处理 }
转换成 for循环的写法:
for(int i = 0;i < Rows.Length;i++)
{
DataRow dr = Rows[i];
//TODO
//循环处理
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询