英文:
How to dynamically pass a variable (of string type) value to another variable name in vb.net?
问题
我曾是一名VFP程序员,对于VFP的一些强大技巧,比如动态声明一个变量并将其命名为另一个字符串变量,感到惊叹。我想知道如何在vb.net中实现相同的功能。我进行了搜索,但大多数解决方案都建议使用数组或列表,其中我无法使用变量的具体有意义的名称。
我有一张包含许多变量的表格,对于每个变量,我想要动态声明一个变量,其名称与变量名称相同,并将变量值赋给它。以下只是完整列表的5%:
变量的部分列表
我可以一个一个声明所有的变量,但如果有更简洁的方法,我更愿意采用。
你能帮助我吗?
我还没有尝试任何方法。
英文:
I am a former VFP programmer and was amazed by some powerful technics of VFP such as declaring dynamically a variable and assign to it a name from another string variable. I am looking for how to do the same in vb.net. I search but most solutions suggest array or list where I could not use the specific meaningful name of the variables.
I have a list of many variables in a table and for each variable I would like to dynamically declare a variable that have the name of the variable and assign to to it the variable value. Below is just 5 % of the full list
partial list of the variables
I can declare all the variable one by one but I would prefer a shorter way if any.
How could you assist me?
I have not tried anything.
答案1
得分: 1
不能在强类型语言中动态创建变量。(你可以创建一个动态类型的变量,但这不是你要找的东西。)
看一下Dictionary
类,它是一组键值对(名称和值),类似于经典的“哈希数组”或JavaScript中的对象。
编辑。当你在VB.Net中创建一个字典时,你需要指定键的数据类型(通常是字符串)和值的数据类型。如果所有的值都是整数,你可以像这样做:Dim myDict As New Dictionary(Of String, Integer)
。如果你真的需要存储不同类的对象(使用同一个字典),你可以这样做:Dim myDict As New Dictionary(Of String, Object)
(但你会失去类型安全性)。
英文:
You can't dynamically create variables in a strongly typed language. (You could create a dynamically typed variable, but that's not what you're looking for.)
Take a look at the Dictionary
class, which is a collection of pairs (name and value), like a classic "hash array" or an object in JavaScript.
Edit. When you create a dictionary in VB.Net, you specify the datatype of the key (usually a String) and the datatype of the value. If all your values are Integers, yo do something like: Dim myDict As New Dictionary (Of String, Integer)
. If you really need to store different classes of objects (using the same dictionary), you may do: Dim myDict As New Dictionary (Of String, Object)
(but you'll lose type safety).
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论