我想要做的是能够获取键值对的词典,并使键成为变量的名称,值为值。 从网上搜索似乎对这是否可能非常模糊。
PHP中的等价物是:
foreach($ array as $ key => $ val) { $$ key = $ val; }
感谢。
答案 0 :(得分:1)
您必须在编译时以.Net CLR语言声明变量(不要与.Net动态运行时语言混淆)。更重要的是,如果你也知道变量的类型,通常会更好。 .Net程序员通常认为this a good thing(该链接适用于C#,但内容仍然适用)。
您想对这些变量做什么?告诉我们,我敢打赌,我们可以给你一个更好的方法来完成同样的事情。
答案 1 :(得分:0)
这是可行的,但这是一个缓慢的操作。您必须使用reflection通过字符串表示来访问变量。
如果可能的话,使用Generics将对象本身存储为键会更快。在VB.NET with a Dictionary here中有一个例子。这样做意味着在运行时不需要投射或反射。此外,它允许intellisense直接处理集合,这是泛型的另一个令人敬畏的事情。