Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VB.NET中动态创建变量_Vb.net_Dynamic - Fatal编程技术网

在VB.NET中动态创建变量

在VB.NET中动态创建变量,vb.net,dynamic,Vb.net,Dynamic,我一直想弄明白这一点已经有一段时间了,但似乎找不到答案。我不明白为什么这是不可能的。我正在用VB.NET编写代码 这是我的问题: 我需要动态创建变量,并能够在以后的代码中引用它们 更多详细信息: 变量的数量来自于对用户定义的值进行的一些数学运算。在这个特定的例子中,我只想创建整数,尽管我预见将来需要能够使用任何类型的变量来创建整数。似乎我最大的问题是能够以一种独特的方式命名它们,以便我以后能够引用它们 简单示例: 假设我有一个10的值,我需要为其中的10创建变量。我想运行一个循环来创建这10个整

我一直想弄明白这一点已经有一段时间了,但似乎找不到答案。我不明白为什么这是不可能的。我正在用VB.NET编写代码

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

更多详细信息: 变量的数量来自于对用户定义的值进行的一些数学运算。在这个特定的例子中,我只想创建整数,尽管我预见将来需要能够使用任何类型的变量来创建整数。似乎我最大的问题是能够以一种独特的方式命名它们,以便我以后能够引用它们

简单示例: 假设我有一个10的值,我需要为其中的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
,它会变得多么混乱吗?