上面为什么只遍历了0和1,之后没有遍历下去。
因为:
1、当m等于2的时候,也就是执行第三次遍历的时候:
Dim dr1 As DataRow = drs(m)
dr1等于表B的第三行,所以: dr1("第二列") 等于 40
而
Dim drs2 As List(of DataRow) = DataTables("表A").Select("第一列 = "& (m-1))
For Each dr2 As DataRow In drs2
Dim cnt As Integer = math.Floor(dr2("第二列") / dr1("第二列"))
next
dr2为第一列等于1的行中的一个,这些行的第二列全部等于20, 所以: dr2("第二列") 等于 20
所以
Dim cnt As Integer = math.Floor(dr2("第二列") / dr1("第二列"))
等效于
Dim cnt As Integer = math.Floor(20 / 40)
所以cnt等于0,所以:
For n As Integer = 1 To cnt
next
其实就是:
For n As Integer = 1 To 0
next
所以不会有增加行的操作了。