c#中如何将字符串转化为变量名

zhouboat 2009-01-07 05:12:53
c#中如何将字符串转化为变量名?
请附上代码,谢谢!
...全文
1187 点赞 收藏 20
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaofei0804 2009-01-08
up~~~看看
回复
niitnanfeng 2009-01-08
顶下
回复
lunat 2009-01-08
用List的话
List<float> list = new List<float>();

添加:list.Add(23.3432f);
删除:list.Remove(23.3423f); 或者list.RemoveAt(0);
赋值:list[0]=23423.24f;
使用: fltA = list[0] * list[1] / list[2];

HashTable,恩不大好,用Dictionary吧
Dictionary<string,float> floats = new Dictionary<string,float>();
floats.Add("float1",234.423);
floats.Remove("float1");
floats["float1"] = 234f;

恩 恩 就这样了
回复
zwfhome1 2009-01-08
用反射可以解决
回复
zhouboat 2009-01-08
那就用List或者HashTable 动态添加、删除、赋值、使用
麻烦给个代码,谢谢!
回复
lunat 2009-01-08
那就用List或者HashTable 动态添加、删除、赋值、使用
回复
zhouboat 2009-01-08
问题是有很多呀,也不固定。上面只是举个例子。
回复
BSJZW 2009-01-08
用数组是个比较好的解决办法
回复
lunat 2009-01-08
汗 你干嘛不用数组?
...
或者直接
fltA1 = xxx;
fltA2 = xxx;
fltA3 = xxx;
...
这代码很好写啊 写一行 就C/V了,完了每行稍微改下
回复
zhouboat 2009-01-08
谢谢,
有变量fltA1,fltA2,fltA3,
在循环里
for (int i=1;i<3;i++)
{
想在这里给变量赋值;
"fltA"+i.toString() //怎么把这个字符串转化为变量使用?
}
回复
CruelYoung123 2009-01-08
有什么用途...呵呵
回复
lunat 2009-01-08
this.GetType().GetField(s).SetValue(this, "rrrrrrrr");

GetType()//获取当前实例类型
GetField(s)//获得当前实力类型中名称为"str"的公共字段
SetValue(this,"rrrr")//为当前实例的该字段赋值"rrrr"

c#是编译语言,而不是解释语言....想向js里面那样是不行的

LZ的思路错了,把你想实现的效果说一说,换个办法应该能解决的
回复
zhouboat 2009-01-08
this.GetType().GetField(s).SetValue(this, "rrrrrrrr");
麻烦能解释一下这行语句吗?

能不能简单的如使用:变量=“值”
回复
sxqxwanglei 2009-01-07
有点看不懂,能解释清楚一点吗.
在vfp中很简单.
回复
lunat 2009-01-07
[Quote=引用 4 楼 h_w_king 的回复:]
利用反射来做.
public string str = "pppppp";
private void button1_Click(object sender, EventArgs e)
{
string s="str";
this.GetType().GetField(s).SetValue(this, "rrrrrrrr");

}
[/Quote]
GetField获得指定类型的公共字段
GetProperty获得属性
回复
HDNGO 2009-01-07
[Quote=引用 4 楼 h_w_king 的回复:]
利用反射来做.
public string str = "pppppp";
private void button1_Click(object sender, EventArgs e)
{
string s="str";
this.GetType().GetField(s).SetValue(this, "rrrrrrrr");

}
[/Quote]

up~
回复
h_w_king 2009-01-07
利用反射来做.
public string str = "pppppp";
private void button1_Click(object sender, EventArgs e)
{
string s="str";
this.GetType().GetField(s).SetValue(this, "rrrrrrrr");

}
回复
chaye12 2009-01-07
string a = "a";
回复
Working20000 2009-01-07
回复
king19840811 2009-01-07
什么意思
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2009-01-07 05:12
社区公告

让您成为最强悍的C#开发者