Как разделить строку, разделенную запятыми, и сохранить ее в переменных VB Net

У меня есть строка, разделенная запятыми, как это

Dim str as String = "1,5"
Dim num1, num2 As Integer 

Я хочу, чтобы я хотел разделить строку через запятую и сохранить эти значения в новых целочисленных переменных. После разлуки хочу что-то подобное

num1 = 1
num2 = 5

Я хочу сделать что-то вроде этого.

 num1, num2 = Convert.ToInt32(str.Split(",")) 

это возможно в Python, но я не знаю, как это сделать здесь

ул.Разделить(",")?

J.Salas 01.04.2022 12:08

@ J.Salas, я знаю, как я буду хранить это в этих переменных?

George Tuqo 01.04.2022 12:10

@J.Salas num1, num2 = myString.split(",") примерно так. это возможно в python, но я не знаю, как это сделать в vb

George Tuqo 01.04.2022 12:16

Вы делаете это вручную, перебирая результат разделения. Для каждого ...

Andrew Mortimer 01.04.2022 12:23

@AndrewMortimer, можешь опубликовать решение?

George Tuqo 01.04.2022 12:26
В чем разница между методом "==" и equals()
В чем разница между методом "==" и equals()
Это один из наиболее часто задаваемых вопросов новичкам на собеседовании. Давайте обсудим его на примере.
Замена символа по определенному индексу в JavaScript
Замена символа по определенному индексу в JavaScript
В JavaScript существует несколько способов заменить символ в строке по определенному индексу.
0
5
73
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете разделить свою строку и назначить переменные следующим образом:

Private Sub AssignVars()

    Dim str As String = "1,5"
    Dim num1, num2 As Integer
    Dim results() As String

    results = str.Split(Convert.ToChar(","))

    For pos As Integer = 0 To results.Count - 1
        Select Case pos
            Case 0
                Integer.TryParse(results(pos), num1)
            Case 1
                Integer.TryParse(results(pos), num2)
            Case Else
                'error handle?
        End Select
    Next


End Sub

Если вас беспокоит анти-шаблон for-case

Private Sub AssignVars()

    Dim str As String = "1,5"
    Dim num1, num2 As Integer
    Dim results() As String

    results = str.Split(Convert.ToChar(","))

    Integer.TryParse(results(0), num1)
    Integer.TryParse(results(1), num2)

End Sub

Анти-шаблон для случая?

Craig 01.04.2022 17:33

Другой подход

    Dim str As String = "b,1,,5,a,,6"
    Dim num1, num2 As Integer
    Dim results() As Integer

    results = (From s In str.Split(","c)
                Where Integer.TryParse(s, Nothing)
                Select Integer.Parse(s) Take 2).ToArray

    If results.Length = 2 Then
        num1 = results(0)
        num2 = results(1)
    Else
        'error
    End If

Другие вопросы по теме