(续):
二、流程控制语句的转换
原句:
For Each dr As DataRow In DataTables("统计").DataRows
dr("出现次数") = DataTables("自由统计数据二").Compute("sum(数据1)", "姓名1 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据2)", "姓名2 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据3)", "姓名3 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据4)", "姓名4 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据5)", "姓名5 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据6)", "姓名6 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据7)", "姓名7 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据8)", "姓名8 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据9)", "姓名9 = '" & dr("字符") & "'")+DataTables("自由统计数据二").Compute("sum(数据10)", "姓名10 = '" & dr("字符") & "'")
Next
精简句:
Dim sum As Integer = 0
For i As integer = 1 to 10
sum = sum + DataTables("自由统计数据二").Compute("sum(数据" & i & ")", "姓名" & i & " = '" & dr("字符") & "'")
dr("出现次数") = sum
Next
第1次见到for….next在实际中运用,sum(数据" & i & ")和姓名" & i &大大精简代码。
注意:for….next与for each语句的转换。