2016-10-31 3 views
0

Я делаю приложение Windows в vb.net. Я хочу присвоить значение переменной во время выполнения.Назначить значение переменной внутри массива с помощью VB.NET в WinForms

Например.

Dim Mystring(2) As String 
Mystring(0) = "1" 
Mystring(1) = "2" 
Dim var1, var2 As String 
Mystring = {a = Mystring(0), b = Mystring(1)} 
MsgBox(var1) 
MsgBox(var2) 

Я хочу, чтобы сохранить MyString (0) значение переменной var1 и MyString (1) значение в переменной var2, но выше код сообщения возвращает нулевое значение. Благодаря!

+0

Это не присвоения, оператор = = для проверки равенства. Вы инициализируете элементы массива с помощью * Booleans *. Используйте параметр Strict On, чтобы компилятор помог вам написать правильный код. –

+0

Спасибо @ Hans Passant. да, его результаты возвращаются в результате. Есть ли способ назначить непосредственно внутри элементов массива. заранее спасибо. – PRABA

ответ

0

Сначала создайте список строковых объектов.

Dim Mystring As New List(Of String) 

Во-вторых, добавьте в список две строковые значения.

Mystring.Add("1") 
Mystring.Add("2") 

В-третьих, объявите две новые переменные типа string.

Dim var1, var2 As String 

В-четвертых, назначьте первое и второе значения списка строковых объектов вновь созданным переменным типа string.

var1 = Mystring(0) 
var2 = Mystring(1) 

Наконец, покажите каждое значение в окне сообщения.

MsgBox(var1) 
MsgBox(var2) 
+0

спасибо @ Ивайло Петров. но можно ли присвоить значение непосредственно «Mystring = {a = Mystring (0), b = Mystring (1)}», как это. Потому что в моем приложении Windows мой размер строки большой. Делая, как и выше, вы упомянули, что я хочу написать много строк кода, поэтому я хочу уменьшить количество строк кода. – PRABA

+0

Вы можете добавить новые значения в список таких строк: 'Dim list As New List (Of String) (New String() {" 1 "," 2 "," 3 "," 4 "," 5 "}) ' –

+0

Также вам не нужно присваивать каждому из этих значений новую переменную, чтобы отобразить ее в окне сообщения. Вы можете показать это так: 'MsgBox (Mystring (0))' –

0

Если вы хотите использовать массив, ваш код должен выглядеть так, хотя совет по использованию списка хорош.

Dim Mystring(1) As String 
    Mystring(0) = "1" 
    Mystring(1) = "2" 
    Dim var1, var2 As String 
    var1 = Mystring(0) 
    var2 = Mystring(1) 

Я изменил объявление массива. Число в() является наивысшим индексом, на единицу меньше, чем количество необходимых элементов. Помните, что мы начинаем с нуля для индексов.

Смежные вопросы