【发布时间】:2009-12-16 23:16:06
【问题描述】:
我想做的是能够获取键值对字典,并将键作为变量的名称,将值作为值。 从网上搜索似乎很模糊这是否可能。
PHP 中的等价物是:
foreach($array as $key=>$val) { $$key = $val; }
谢谢。
【问题讨论】:
-
目的是什么?键本质上充当动态变量名称来访问值。
标签: vb.net
我想做的是能够获取键值对字典,并将键作为变量的名称,将值作为值。 从网上搜索似乎很模糊这是否可能。
PHP 中的等价物是:
foreach($array as $key=>$val) { $$key = $val; }
谢谢。
【问题讨论】:
标签: vb.net
您必须在编译时以 .Net CLR 语言(不要与 .Net 动态运行时语言混淆)声明变量。不仅如此,如果您也知道变量的类型,通常会更好。 .Net程序员普遍认为this a good thing(链接是C#的,但内容仍然适用)。
您想对这些变量做什么?告诉我们,我敢打赌,我们可以为您提供更好的方法来完成同样的事情。
【讨论】:
这是可行的,但它是一个缓慢的操作。您必须使用 reflection 通过字符串表示来访问变量。
如果可能的话,使用泛型将对象本身存储为键会快得多。 VB.NET with a Dictionary here 中有一个例子。这样做意味着在运行时不需要强制转换或反射。此外,它还允许智能感知直接处理集合,这是泛型的另一个很棒的事情。
【讨论】: