2011-12-21 3 views
2

Есть ли способ, чтобы я мог объявить 70 различных переменных в цикле вместо объявления каждого из них?Объявление переменной динамически в VB.net

Я хотел сделать что-то, как показано ниже:

For i As Integer = 0 To 70 
    Dim Para + i AS OracleParameter 
Next 

Вместо того, чтобы объявить, как показано ниже:

Dim Param1 AS OracleParameter 
Dim Param2 AS OracleParameter 
Dim Param3 AS OracleParameter 
… 
Dim Param70 AS OracleParameter 

ответ

9

Использование массива:

Dim Param(69) As OracleParameter 
For i As Integer = 0 To Param.Length - 1 
    Param(i) = New OracleParameter(..) 
    '' etc.. 
Next 
1

Я никогда не видел такой метод , но, глядя на него, почему бы вам не использовать список или KeyValuePair, используя индекс в качестве ключа? Я бы порекомендовал использовать что-то подобное, даже если вы держите слово «Парам» как часть ключа.

Dim Parameters as New KeyValuePair(Of String, OracleParameter) 

For i AS Integer = 0 To 70 
    Parameters.Add("Param" & i.ToString(), New OracleParameter) 
Next 

Это может затем быть доступны в любое время, используя (например)

Parameters("Param66").Value 
1

Обычно это делается с помощью массива:

Dim Para(70) As OracleParameter 

Для доступа к элементу с использованием массива Пара (0), Пара (1) и т. Д.

Если вы на самом деле нужны раздельные переменные, которые вы могли бы написать небольшую программку, которая выводит необходимые строки коды и скопировать & вставить их в файл код - но я не вижу никаких оснований для этого :-)

Bye, Jens

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

  • Нет связанных вопросов^_^