У меня есть строка, разделенная запятыми, как это
Dim str as String = "1,5"
Dim num1, num2 As Integer
Я хочу, чтобы я хотел разделить строку через запятую и сохранить эти значения в новых целочисленных переменных. После разлуки хочу что-то подобное
num1 = 1
num2 = 5
Я хочу сделать что-то вроде этого.
num1, num2 = Convert.ToInt32(str.Split(","))
это возможно в Python, но я не знаю, как это сделать здесь
@ J.Salas, я знаю, как я буду хранить это в этих переменных?
@J.Salas num1, num2 = myString.split(",") примерно так. это возможно в python, но я не знаю, как это сделать в vb
Вы делаете это вручную, перебирая результат разделения. Для каждого ...
@AndrewMortimer, можешь опубликовать решение?
Вы можете разделить свою строку и назначить переменные следующим образом:
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
Анти-шаблон для случая?
Другой подход
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
ул.Разделить(",")?