求助 C# 中如何在变量名中含有某个变量的值,在线等......

如:for(inti=0;i<N;i++){intasd¥i¥=i;}结果:asd0=0;asd1=1;asd2=3;asd4=4;循环中使用类。由于N的大小未知,所以想... 如:for(int i=0;i<N;i++)
{
int asd¥i¥=i;
}
结果:
asd0=0;
asd1=1;
asd2=3;
asd4=4;

循环中使用类。
由于N的大小未知,所以想用这种方式
展开
 我来答
百度网友cfe4d0f
2013-05-06 · TA获得超过1502个赞
知道小有建树答主
回答量:937
采纳率:100%
帮助的人:852万
展开全部
看了追问和回复好像你是要批量的去编辑控件么- -
如果我理解的没错的话。。。

这实际上取决于你具体要操作的对象。是类还是结构体
是类的字段变量 还是函数内定义的局部变量

对于局部变量来说 最好在定义的时候就用集合类进行定义
比如数组Array T[] 列表List<T> 或者字典Dictionary<Tkey,Tvalue>
这样你可以使用索引来达到你的语法目的 这对操作类和操作结构体是通用的

对于字段变量操作(当你深入的熟悉C#语法后 会发现你的控件实际上都是Form子类内自己定义的字段变量 它们的name和变量名通常是一致的 而已...)
也可以类似上面 先定义一个集合 把它们的引用都复制进去 再进行操作
更通用但是效率更低的办法是使用反射 (Reflect) 这是对字段进行操作的终极方法..只是效率低下(小规模使用可以忍受..)而且不容易掌握

你应该写一段真实的代码 让大家看清上下文 然后帮你写一个替代的解决方案。
追问
for(int i=0;i<N;i++)
{L
ListViewGroup asd¥i¥=new ListViewGroup() ;
//对ListViewGroup对象进行操作
}
N的值不确定,asd¥i¥ 意思是包含变量的变量名
追答
如果是局部变量 完全符合我第一种情况 也就是是用数组了啊=A=
ListViewGroup[] asd = new ListViewGroup[N];
for(int i=0;i<N;i++){
asd[i] = new ListViewGroup();
asd[i].xxxxx
}
jlilo
2013-05-02 · TA获得超过1184个赞
知道小有建树答主
回答量:824
采纳率:33%
帮助的人:287万
展开全部
完全没有必要这么做,可以用另外一个方式去实现。

你的意思是:

string s, k;
s="k";

因为,变量名要用都是要先申请。

动态数组就可以解决你的问题了。
直接如下定义(以INT类型为例)
int[] numbers;

如果是多维的话,可以这样定义:
int[,] numbers;
int[2,] numbers;
追问
我的问题补充完整了,请你在看看,能不能解决

如果要循环使用的是类名呢?
还要这样吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greatsbtatei
2013-05-02 · 超过23用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:64.2万
展开全部
list<int> ss=new list<int>();
for(int i=0;i<N;i++)
{
ss.add(i);
}

ss[0]=0;
ss[1]=1;
ss[2]=2;
更多追问追答
追问
list  是什么?
你有没有试过?
追答
集合的一种,相当于建立一个INT类型的集合,然后向集合中添加集合的元素。可以用集合索引来取得里面的元素。相比数组来讲操作更方便,而且集合元素师可变的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友de8d5b681
2013-05-06
知道答主
回答量:10
采纳率:0%
帮助的人:6.2万
展开全部
用arraylist
追问
怎么用啊
追答
using System.Collections;
ArrayList mylist = new ArrayList();
mylist.add(0);
mylist.add(1);

foreach(int i in mylist)
{
messagebox.show(i);
}

输出,0,1,集合的索引号和存取的值可以是相同的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式