2013-07-23 47 views
1

我肯定有一个愚蠢的问题,但没有找到答案。使用“For ... Next”与非连续数字

有没有一种使用“For i = ... To ...”的方式来使用非连续数字。

让我解释一下: 比如我有这个代码行:

GridView1.Columns(26).BackColor = System.Drawing.Color.Green 
GridView1.Columns(27).BackColor = System.Drawing.Color.Green 
GridView1.Columns(28).BackColor = System.Drawing.Color.Green 
GridView1.Columns(34).BackColor = System.Drawing.Color.Green 
GridView1.Columns(35).BackColor = System.Drawing.Color.Green 
GridView1.Columns(41).BackColor = System.Drawing.Color.Green 
GridView1.Columns(42).BackColor = System.Drawing.Color.Green 
'And so on... 

是否有写From i=26 To 42 In {26,27,28,34,35,41,42}的一种方式?

感谢

回答

2

只需创建与内容{26, 27, 28, 34, 35, 41, 42}整数数组或列表,然后通过数组使用For Each...Next声明迭代。

例如,您可以修改此链接的MSDN文章中显示的示例。它是关于字符串的列表,但您也可以对整数执行相同的操作。

' Create a list of strings by using a 
' collection initializer.  
Dim lst As New List(Of String) _ 
    From {"abc", "def", "ghi"} 

' Iterate through the list. 
For Each item As String In lst 
    Debug.Write(item & " ") 
Next 
+1

对不起... 现在愚蠢的问题,你说它,它似乎逻辑。 – Rave

+1

@Rave没关系。你只需要一个额外的抽象层。 –

+0

硬编码列号是边际...我认为你可以适应这个答案使用列名称,而不是数字。 – rheitzman