在VB.NET中动态创建变量

时间:2012-12-05 15:36:35

标签: vb.net dynamic

我一直试图解决这个问题一段时间,似乎无法找到答案。我不明白为什么这是不可能的。我在VB.NET中编码。

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

更多详情: 变量的数量来自一些针对用户定义值的数学运算。在这个特定的情况下,我想创建整数,虽然我预见到需要能够使用任何类型的变量执行此操作的道路。似乎我最大的问题是能够以一种独特的方式命名它们,以便我以后能够引用它们。

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

对我来说似乎很简单,但我无法理解。任何帮助将不胜感激。提前谢谢。

3 个答案:

答案 0 :(得分:12)

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

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

答案 1 :(得分:2)

您想使用List

Dim Numbers As New List(Of Integer)

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

动态创建一堆命名变量的想法不是你可能在任何VB.Net程序中看到的。如果您有多个项目,则只需将它们存储在列表,数组或其他类型的集合中。

答案 2 :(得分:0)

'Dim a Array 将xCount调暗为整数 将myVar(xCount)调暗为String

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

'您必须跟踪xCount值等于使用的内容。 '通常可以是A DataTable中的ID,带有字符串含义