For Each dr As myDAL.UsersRow In data
str.AppendLine(dr.UserName)
Next
在上面的代码中,我还需要包含行索引,使其类似于
str.AppendLine(dr.IndexNumber & " " & dr.UserName)
我怎样才能做到这一点?
P.S。 data
不是DataTable
,而是myDAL.UsersRow
答案 0 :(得分:4)
如果数据是您建议的List<myDAL.UsersRow>
,则可以使用“for”循环而不是“for each”循环:
for i = 0 to data.Count - 1
str.AppendLine(i & " " & data[i].UserName)
next
但是,如果您暗示您的“数据”列表与原始DataTable的行的顺序不同,您可以使用DataRowCollection.IndexOf方法在原始表中找到该行:
for each dr as myDAL.UsersRow in data
str.AppendLine(dr.Table.Rows.IndexOf(dr) & " " & dr.UserName)
next
答案 1 :(得分:1)
在ForEach循环之前声明一个计数器变量,并在其中增加它。
Dim counter As Integer = 0
For Each dr As myDAL.UsersRow In data
counter = counter + 1
str.AppendLine(counter.ToString() & " " & dr.UserName)
Next