2012-12-05 86 views
5

我一直试图弄清楚这一点,现在似乎无法找出答案。我不明白为什么这是不可能的。我在VB.NET中编码。在VB.NET中动态创建变量

这里是我的问题: 我需要动态创建变量,并能够在后面的代码上引用它们。

更多详细信息: 变量的数量来自针对用户定义值的某些数学运算。在这个特定的情况下,我想创建整数,尽管我预见到需要能够用任何类型的变量来完成这个任务。看来我最大的问题是能够以独特的方式命名它们,以便稍后能够引用它们。

简单示例: 假设我的值为10,其中我需要为其创建变量。我想运行一个循环来创建这10个整数。在后面的代码中,我将引用这10个整数。

对我来说这似乎很简单,但我无法弄清楚。任何帮助将不胜感激。提前致谢。

回答

11

这样做的最好方法是使用Dictionary(T)类。它是通用的,因此您可以使用它来存储任何类型的对象。它允许您轻松存储和检索代码/值对。在你的情况下,“键”将是变量名称,“值”将是变量值。因此,例如:

Dim variables As New Dictionary(Of String, Integer)() 
variables("MyDynamicVariable") = 10 ' Set the value of the "variable" 
Dim value As Integer = variables("MyDynamicVariable") ' Retrieve the value of the variable 
+0

这是最接近你可能得到,但你需要一个字典为每个数据类型 – Basic

+1

@Basic是的,你会,除非你想放弃类型检查,并将其设置为“Dictionary(Of String,Object)”,在这种情况下,该值可以是任何类型的对象。 –

+0

这看起来像它会做的伎俩。在此之前,我从未使用过Dictionary(T)类。感谢您的快速回复和评论的代码片段。 – Jonathan

2

你想用创造了一堆在飞行命名变量的List

Dim Numbers As New List(Of Integer) 

For i As Integer = 0 To 9 
    Numbers.Add(0) 
Next 

的想法是不是你可能在任何VB.Net程序,看看。如果您有多个项目,只需将它们存储在列表,数组或其他类型的集合中即可。

0

“暗淡阵列 昏暗XCOUNT作为整数 昏暗myVar的(XCOUNT)作为字符串

Add按钮事件。 。 。 xCount + = 1 myVar(xCount)=“字符串值”

'您将不得不跟踪跟踪xCount值是否等于使用。 '通常可能是一个DataTable中的ID,字符串含义