2016-04-13 2 views
0

Я искал в Интернете, чтобы узнать, как динамически объявлять имена переменных автоматически, и я пришел без результатов. мой подход к коду я упрощающий выглядят следующим образом:alturnitives для динамического объявления имен переменных автоматически в vb.net

dim choice1 as string 
dim choice2 as string 
dim choice3 as string 
... 

я желаю я могу Approch это следующим образом

dim count as integer 
while count is 1 to 10 
    count +=1 
end while 
dim (choice+count) as string 
' it suppose to create variable choice with the addition to the name from 1 to 10 like choice1, choice2, choice3 and so on. 

вы можете помочь мне.

пс: я также пытался создать объявленные переменные в массиве таким образом:

dim count as integer 
Dim var As Array = {Dim choice1 as string, dim choice2 as string} 
while count is 1 to 10 
    var.add(dim choice+count as string) 
end while 

ответ

0

Такого рода операции не поддерживаются в VB .NET (насколько я знаю, поправьте меня, если я неправильно, что сделает меня умнее ...)

Однако вы можете объявить словарь (из String, Object), который будет содержать значения, которые вы хотите сохранить.

Допустим, вы хотите создать десять строк:

Dim myvars as New Dictionary(of String, String) 

For i = 1 to 10 
    myVars.Add("choice" & i, "New String Value") 
Next 

'Next you can access these vars like this 
Dim choice = "choice5" 
Dim string5 = myVars(choice) 
myvars(choice) = "Replaced" 

Надеюсь, что это помогает ...

0

Традиционно эта модель адресована с использованием массивов. В настоящее время вы можете использовать списки, словари и т. Д. Большинство разработчиков будут использовать что-то вроде этого:

Dim choice(10) as String 
'choice(0) is same as choice0 
'choice(1) is same as choice1 
'choice(2) is same as choice2 
'choice(3) is same as choice3 
'etc.