在VB.NET中动态创建变量
我一直想弄明白这一点已经有一段时间了,但似乎找不到答案。我不明白为什么这是不可能的。我正在用VB.NET编写代码 这是我的问题: 我需要动态创建变量,并能够在以后的代码中引用它们 更多详细信息: 变量的数量来自于对用户定义的值进行的一些数学运算。在这个特定的例子中,我只想创建整数,尽管我预见将来需要能够使用任何类型的变量来创建整数。似乎我最大的问题是能够以一种独特的方式命名它们,以便我以后能够引用它们 简单示例: 假设我有一个10的值,我需要为其中的10创建变量。我想运行一个循环来创建这10个整数。稍后在代码中,我将引用这10个整数在VB.NET中动态创建变量,vb.net,dynamic,Vb.net,Dynamic,我一直想弄明白这一点已经有一段时间了,但似乎找不到答案。我不明白为什么这是不可能的。我正在用VB.NET编写代码 这是我的问题: 我需要动态创建变量,并能够在以后的代码中引用它们 更多详细信息: 变量的数量来自于对用户定义的值进行的一些数学运算。在这个特定的例子中,我只想创建整数,尽管我预见将来需要能够使用任何类型的变量来创建整数。似乎我最大的问题是能够以一种独特的方式命名它们,以便我以后能够引用它们 简单示例: 假设我有一个10的值,我需要为其中的10创建变量。我想运行一个循环来创建这10个整
这对我来说似乎很简单,但我无法理解。任何帮助都将不胜感激。提前感谢。您想使用
列表
Dim Numbers As New List(Of Integer)
For i As Integer = 0 To 9
Numbers.Add(0)
Next
动态创建一组命名变量的想法在任何VB.Net程序中都不太可能看到。如果有多个项,只需将它们存储在列表、数组或其他类型的集合中。执行类似操作的最佳方法是使用
字典(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
"调暗阵列",
Dim xCount为整数
将myVar(xCount)设置为字符串
添加按钮事件。
xCount+=1
myVar(xCount)=“字符串值”
'您必须跟踪xCount值等于多少才能使用。
'通常可以是DataTable中的一个ID,带有一个字符串,意思是这是最接近您可能得到的,但您需要为每个数据创建一个字典type@Basic是的,你会的,除非你想放弃类型检查,只是把它变成一个
字典(字符串,对象)
在这种情况下,该值可以是任何类型的对象。这看起来会起作用。在此之前,我从未使用过Dictionary(T)类。感谢您的快速回答和注释代码片段。@Stevendogart甚至不建议这样做;)也可以关闭严格模式。。。还有,你能想象一下,如果使用所有的CInt
,CDbl
,它会变得多么混乱吗?