Как я могу создать счетчик строк в VB.NET

#vb.net

#vb.net

Вопрос:

Мне нужно сделать счетчик строк в vb.net например, если в целых числах.

Логический пример:

 $counter=A

loop

    print $counter;

    $counter  =1;

endloop
 

вывод: A,B,C,D

Большое всем спасибо.

Комментарии:

1. Не могли бы вы, пожалуйста, отредактировать свой ответ и правильно объяснить, в чем заключается ваша проблема, что вы ожидаете, и что вы пробовали до сих пор, также рекомендуется показать несколько примеров кода того, что вы пробовали до сих пор

2. не могли бы вы сузить теги до вашего фактического языка программирования? Это c# , vb.net или vba ? В этом последнем случае visual-studio тег не будет применяться ни

3. Находится в vb.net но если вы знаете в c # или vba, я могу преобразовать для моей проблемы

Ответ №1:

в VBA

 Sub main()
    Dim strng As String
    Dim counter As Long

    strng = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    Do While counter < Len(strng)
        counter = counter   1
        Debug.Print Mid(strng, counter, 1)
    Loop
End Sub
 

конечно, вы можете добавить больше условий завершения в Do While counter < Len(strng)

Комментарии:

1. @RubenSIlva, ты справился с этим?

2. @RubenSilva, было бы неплохо, если бы ты давал правильные отзывы людям, пытающимся тебе помочь. Спасибо

Ответ №2:

Вы можете сделать это с char типом, хотя это неудобно, вы можете выполнить итерацию int для этого.

 Dim charNum As Integer = 65
Your loop start code
    print Chr(charNum).ToString();
    charNum  =1
End loop
 

Комментарии:

1. Спасибо за ваш ответ.

2. Но он просто вернет букву, когда символ будет правильным числом. Итак, не сработает.

3. В вашем примере вы показываете, что хотите выводить каждую букву, так что это делает то, что вы просили]

4. Будьте осторожны, chr(1) возвращает символ пробела, но chr(65) возвращает символ A

Ответ №3:

Не стесняйтесь использовать метод, который вы хотите :

  Const Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 Dim nbLettersToDispay As Integer = 5

 For i = 0 To Math.Min(nbLettersToDispay, Letters.Length)
   If i <> Math.Min(nbLettersToDispay, Letters.Length) Then
       Debug.Print(Letters(i))
   End If
 Next i
 

В моем коде вам просто нужно будет изменить значение переменной nbLettersToDispay , которая представляет количество отображаемых букв

Ответ №4:

Эта функция также будет хорошо работать>26

 Dim i As Integer = 0
Do While i < 100
    i  = 1
    Console.WriteLine(excelColumnToLetter(i))
Loop

Function excelColumnToLetter(ByVal iColumn As Integer)
    Dim sLetters As String = ""
    Dim iTemp As Integer = 0
    Do While iColumn
        iTemp = (iColumn Mod 26)
        If iTemp = 0 Then iTemp = 26
        sLetters = Chr(iTemp   64) amp; sLetters
        iColumn = (iColumn - iTemp) / 26
    Loop
    Return sLetters
End Function
 

Ответ №5:

Это то, что вам нужно:

 For Each letter As Char In "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    Debug.Print(letter)
Next
 

Это выведет:

A
B
C

Вот скриншот кода с выводом:

введите описание изображения здесь