【问题标题】:Declaring variable dynamically in VB.net在 VB.net 中动态声明变量
【发布时间】:2011-12-21 15:37:59
【问题描述】:
有没有办法我可以在一个循环中声明 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
【问题讨论】:
标签:
vb.net
variables
for-loop
declare
【解决方案1】:
使用数组:
Dim Param(69) As OracleParameter
For i As Integer = 0 To Param.Length - 1
Param(i) = New OracleParameter(..)
'' etc..
Next
【解决方案2】:
我从来没有见过这样的方法,但是在看它时,为什么不使用以索引为键的列表或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
【解决方案3】:
通常这是通过使用数组来完成的:
Dim Para(70) As OracleParameter
要访问数组的元素,请使用 Para(0)、Para(1) 等。
如果您确实需要单独的变量,您可以编写一个小程序,打印出所需的代码行并将它们复制并粘贴到您的代码文件中 - 但我看不出有任何这样做的理由 :-)
再见,詹斯