2013-03-16 2 views
0

В принципе у меня есть 10 целых чисел с именем:Visual Basic изменение значения на основе значения

i1,i2,i3,i4,i5,i6,i7,i8,i9,i10 

Теперь у меня есть расчет, и всякий раз, когда он возвращает значение в диапазоне от 1-10, то это должно увеличить число согласно по 1

Я знаю, что могу сделать это с помощью case или 10 ifs, но есть способ генерировать имя переменной, что я хочу изменить. Псевдокод:

value = x // a value is being returned 
(i+x)++; // increase the according variable by one 

ответ

3

Не было бы проще просто создать массив и, основываясь на значении возвращается, увеличиваем значение в массиве по данному индексу?

Например:

Dim myArray(1 To 10) As Integer 
value = x       'a value is being returned 
myArray(x) = myArray(x) + 1  'increment value in array 
+0

Это хорошо, но есть Oneliner, что позволяет мне инициализировать все 10 значений '2'? или я должен делать 'myArray (1) = 2' десять раз? – Jaanus

+0

для i = от 1 до 10 .... myArray (i) = 2 .... следующий i – enderland

+0

или ... myArray = [2,2,2,2,2,2,2,2,2,2,2 ] (но для этого вам нужно использовать вариантный массив) – enderland

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