2013-07-23 44 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