如何将字符串转换为变量,vb6 / c#/ c ++?

时间:2011-07-03 11:04:42

标签: c# c++ string variables vb6

如何在c#或C ++中将字符串转换为变量?

示例(vb6):

dim a as string
dim b as string

b="halo"
a="b"

msgbox a

这应该使输出=晕

这可能吗?..,

感谢回复

3 个答案:

答案 0 :(得分:5)

编辑:

我首先误解了你的答案,但现在我看到(你是Gserg)你希望找到一个基于名字的变量。在C#中,你必须通过反射来做到这一点。请参阅以下代码段,并确保已引用System.Reflection。

MyNamespace.MyClass cls = new MyNamespace.MyClass();
FieldInfo fi = cls.GetType().GetField("FieldName");
string value = (string)(fi.GetValue(null, null));
Console.Out.WriteLine(value);

在这里,我在该类中查找字段“FieldName”,然后返回字段的值

另请参阅GetField http://msdn.microsoft.com/en-us/library/system.type.getfield(v=vs.71).aspx

的MSDN页面

答案 1 :(得分:2)

你不能。
Reflection不能返回局部变量的名称,只能返回类型和索引。

因此,最简单的是有一本字典:

var d = new Dictionary<string, string>();
d.Add("b", "helo");

MessageBox.Show(d["b"]);

答案 2 :(得分:0)

在C ++中, 不可能 。在C#中,由于反射可能是可能的(但我不确定如何)。