2

有没有办法我可以在一个循环中声明 70 个不同的变量而不是声明每个变量?

我想做如下的事情:

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
4

3 回答 3

9

使用数组:

Dim Param(69) As OracleParameter
For i As Integer = 0 To Param.Length - 1
    Param(i) = New OracleParameter(..)
    '' etc..
Next
于 2011-12-21T15:41:48.290 回答
1

我从来没有见过这样的方法,但是在看它时,为什么不使用以索引为键的列表或KeyValuePair?我真的建议使用这种性质的东西,即使您将“Param”这个词作为键的一部分。

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
于 2011-12-21T15:43:43.420 回答
1

通常这是通过使用数组来完成的:

Dim Para(70) As OracleParameter

要访问数组的元素,请使用 Para(0)、Para(1) 等。

如果您确实需要单独的变量,您可以编写一个小程序,打印出所需的代码行并将它们复制并粘贴到您的代码文件中 - 但我看不出有任何这样做的理由:-)

再见,詹斯

于 2011-12-21T15:45:51.590 回答