Используя Visual Basic, что мне нужно добавить в цикл for next, чтобы приложение отображало только четные числа? - PullRequest
0 голосов
/ 07 марта 2019

Мой вопрос не совпадает с тем, на который он помечен как похожий.Мне нужно, чтобы мое приложение отображало действительные числа, даже находящиеся в диапазоне чисел, введенных пользователем.Другой вопрос выводит «Четное» или «Нечетное» на основе числа.

Я работаю над домашним заданием, в котором я должен заставить свое приложение принимать числа, введенные пользователем в текстовые поля, и отображатьчетные числа между ними в списке с помощью оператора For ... Next.(Таким образом, если пользователь вводит 2 в поле От и 10 в поле Кому, приложение должно вывести 2, 4, 6, 8 и 10 без запятых в поле списка.)

Этомой текущий интерфейс (показывает, как приложение работает с текущим кодом):

Тест приложения Numbers

Это мой текущий код:

 Dim intFrom As Integer
        Dim intTo As Integer

        Integer.TryParse(txtFrom.Text, intFrom)
        Integer.TryParse(txtTo.Text, intTo)
        lstNumbers.Items.Clear()

        For intList As Integer = intFrom To intTo
            If intFrom >= intTo Then
                Exit For
            End If
            lstNumbers.Items.Add(intList)
        Next intList
    End Sub

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Альтернативы

    lstNumbers.Items.Clear()
    'alternative 1
    Dim ie As IEnumerable(Of String)
    ie = From i In Enumerable.Range(intFrom, intTo - intFrom + 1)
         Where (i And 1) = 0 Select CType(i, String)

    lstNumbers.Items.AddRange(ie.ToArray)

    lstNumbers.Items.Clear()
    'alternative 2
    For intList As Integer = intFrom To intTo
        If (intList And 1) = 0 Then
            lstNumbers.Items.Add(intList)
        End If
    Next
0 голосов
/ 07 марта 2019

Замените ваш For цикл следующим:

For intList As Integer = intFrom To intTo
        Dim result As Integer = intList Mod 2
        If result = 0 Then
            lstNumbers.Items.Add(intList)
        End If
Next
...