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

zhouboat 2009-01-07 05:12:53
c#中如何将字符串转化为变量名?
请附上代码,谢谢!
...全文
2234 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
什么意思

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧