【问题标题】: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) 等。

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

        再见,詹斯

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-08-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-11
          • 2014-12-31
          • 1970-01-01
          相关资源
          最近更新 更多