2011-03-25 42 views

回答

24
For Each c In "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() 
... 
Next 
+4

的ToCharArray()是不是絕對必要的,因爲字符串實現IEnumerable(煤焦) – 2011-03-28 16:09:02

+0

這是一個非常乾淨的方式來做到這一點! – Dayan 2012-09-20 16:41:13

+0

@ChrisDunaway你可以給一個示例代碼嗎? – Smith 2016-07-01 17:37:25

10

我想通了。任何人有更好的解決方案?

要遍歷字母表:

For i As Int16 = Convert.ToInt16("A"c) To Convert.ToInt16("Z"c) 
     Dim letter As Char = Convert.ToChar(i) 
     'Do my loop work... 
Next 

Letter將第一等於 「A」,然後 「B」 等

任何人都有一個更好的解決方案?

10

這樣做很可能是最簡單的方法:我真的不知道,如果它雖然乾淨

For ascii = 65 To 90 
    Debug.Print(Chr(ascii)) 
Next 

。自從我開始使用c#以來,我從未在vb.net工作過。

1

這裏是另一種方式來枚舉字母:

For Each letter As Char In Enumerable.Range(Convert.ToInt16("A"c), 26) _ 
            .Select(Function(i) Convert.ToChar(i)) 
    Console.WriteLine(letter) 
Next 
0

試試這個

Dim a As String 
a = 65 
Do 
If a > 90 Then 
Exit Do 
Else 
List1.AddItem Chr(a) 
a = a + 1 
End If 
Loop 
+0

已經有另一個簡潔而簡潔的答案,是什麼讓你成爲一個好答案?小心評論你的代碼,它比接受的答案更有效率嗎?爲什麼? – Yaroslav 2012-10-04 06:44:09

+0

擴大你的評論並沒有什麼壞處,現在,我看不出有什麼理由比接受的答案好。 – Jodrell 2012-11-15 11:22:04

-1
Module Abecedario 
    Sub main() 
     Dim letra As String 
     letra = 65 

     Console.WriteLine("El abecedario") 
     Console.WriteLine("-------------") 

     Do 
      If letra > 90 Then 
       Exit Do 
      Else 
       Console.Write(Chr(letra) & ", ") 
       letra = letra + 1 
      End If 
     Loop 

     Console.ReadLine() 

    End Sub 
End Module 
0
Sub Sel_1_sur_2() 
Dim i As Long 
Dim a As ChartObject 
Dim rng As Range 
Set rng = Range(Chr(65) & ":" & Chr(65)) 
For ascii = 65 To 90 Step 2 
    Debug.Print (Chr(ascii)) 
    Set rng = Union(rng, Range(Chr(ascii) & ":" & Chr(ascii))) 
Next 
rng.Select 
End Sub 
+2

你能提供一個更清晰的代碼是幹什麼的圖片嗎?像解釋一下 – 2018-03-09 06:07:00