.net 将一个字符串和一个数字连成一个字符串,作为变量名,并赋值
如:
前台定义了id1,id2,id3..........
后台给id1,id2.....赋值:
for(i=0;i<100;i++)
{
id+i=i;//把id+i作为变量名
}
要做成这样的效果
请赐教,谢谢
------解决方案--------------------用反射
http://www.cnblogs.com/zgqys1980/archive/2010/08/19/1803794.html
------解决方案--------------------
------解决方案--------------------直接定义成数组不就ok了?
------解决方案--------------------终极答案:
Dictionary<string, int> dict = new () ...;
for(i=0;i<100;i++)
{
dict["id"+i]=i;//把id+i作为变量名
}
------解决方案--------------------还用反射,反射能动态改变程序集的结构?
人家楼主说的是根据传过来的值作为一个标示存储值。
------解决方案-------------------- 不能 StringBuilder?
------解决方案--------------------public int id1, id2, id3=0;
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 1; i < 3; i++)
{
var obj = this.GetType().GetField("id" + i);
obj.SetValue(this, i);
}
}
声明变量一定要是全局变量在类下面不能在方法内