Я собираюсь привести пример того, что я пытаюсь решить. Я думаю, что это лучший способ объяснить проблему.
У меня есть цикл for, который генерирует числа от X до Y. X - это нижнее значение диапазона, который я ввожу в текстовое поле, а Y - это верхнее значение из этого диапазона.
Например:
От 1234 до 4321
Итак, программа генерирует значения от 1234 до 4321 -> 1234,1235,1236, ..., 4320,4321.
Для I = 1234 до 4321
Я хочу добавить в список только сгенерированные значения, которые содержат все числа в текстовом поле нижнего значения.
Например:
Lower value textbox = 12344
Generated values:
12344 -> valid because it contains 12344
12395 -> not valid because '5' is not contained in 12344
...
44231 -> valid because it contains 12344
41243 -> valid because it contains 12344
Я написал некоторый код, но я плохо его кодирую, потому что он принимает недопустимые значения, когда исходная строка (текстовое поле с более низким значением) содержит повторяющиеся числа. Хорошо работает, когда нет повторяющихся значений.
Я пробовал разные коды и нашел ссылку, которая, кажется, решает проблему на мой вопрос, но я не представляю, как она работает.
Проверить, содержит ли строка все остальные строки
Код, который я пробовал:
Dim StartNumber As Integer = TextBox_InitialDigit.Text
Dim FinalNumber As Integer = TextBox_FinalDigit.Text
Dim AmountOfResults As Integer
Dim StringOriginal As String = TextBox_InitialDigit.Text
Dim ArraySubstrings As Char() = StringOriginal.ToCharArray()
Dim ContainsAll = False
For I = Convert.ToInt32(TextBox_InitialDigit.Text) To Convert.ToInt32(TextBox_FinalDigit.Text)
For Each Character In ArraySubstrings
If I.ToString.Contains(Character) Then
ContainsAll = True
ElseIf Not I.ToString.Contains(Character) Then
ContainsAll = False
Exit For
End If
Next
If ContainsAll = True Then
ListBox1.Items.Add(I)
AmountOfResults += 1
End If
Next
Label_AmountOfResults.Text = "Total results: " & AmountOfResults
Приведенный выше код, как я объяснил, работает нормально, если исходная строка (та, которую я печатаю в текстовом поле) не содержит повторяющихся чисел.
Я чувствую, что то, что я пытаюсь сделать, чрезвычайно просто реализовать, но я просто упускаю это. Любая помощь будет принята с благодарностью.