求助 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的大小未知,所以想用这种方式 展开
{
int asd¥i¥=i;
}
结果:
asd0=0;
asd1=1;
asd2=3;
asd4=4;
循环中使用类。
由于N的大小未知,所以想用这种方式 展开
4个回答
展开全部
看了追问和回复好像你是要批量的去编辑控件么- -
如果我理解的没错的话。。。
这实际上取决于你具体要操作的对象。是类还是结构体
是类的字段变量 还是函数内定义的局部变量
对于局部变量来说 最好在定义的时候就用集合类进行定义
比如数组Array T[] 列表List<T> 或者字典Dictionary<Tkey,Tvalue>
这样你可以使用索引来达到你的语法目的 这对操作类和操作结构体是通用的
对于字段变量操作(当你深入的熟悉C#语法后 会发现你的控件实际上都是Form子类内自己定义的字段变量 它们的name和变量名通常是一致的 而已...)
也可以类似上面 先定义一个集合 把它们的引用都复制进去 再进行操作
更通用但是效率更低的办法是使用反射 (Reflect) 这是对字段进行操作的终极方法..只是效率低下(小规模使用可以忍受..)而且不容易掌握
你应该写一段真实的代码 让大家看清上下文 然后帮你写一个替代的解决方案。
如果我理解的没错的话。。。
这实际上取决于你具体要操作的对象。是类还是结构体
是类的字段变量 还是函数内定义的局部变量
对于局部变量来说 最好在定义的时候就用集合类进行定义
比如数组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
}
展开全部
完全没有必要这么做,可以用另外一个方式去实现。
你的意思是:
string s, k;
s="k";
因为,变量名要用都是要先申请。
动态数组就可以解决你的问题了。
直接如下定义(以INT类型为例)
int[] numbers;
如果是多维的话,可以这样定义:
int[,] numbers;
int[2,] numbers;
你的意思是:
string s, k;
s="k";
因为,变量名要用都是要先申请。
动态数组就可以解决你的问题了。
直接如下定义(以INT类型为例)
int[] numbers;
如果是多维的话,可以这样定义:
int[,] numbers;
int[2,] numbers;
追问
我的问题补充完整了,请你在看看,能不能解决
如果要循环使用的是类名呢?
还要这样吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
for(int i=0;i<N;i++)
{
ss.add(i);
}
ss[0]=0;
ss[1]=1;
ss[2]=2;
更多追问追答
追问
list 是什么?
你有没有试过?
追答
集合的一种,相当于建立一个INT类型的集合,然后向集合中添加集合的元素。可以用集合索引来取得里面的元素。相比数组来讲操作更方便,而且集合元素师可变的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用arraylist
追问
怎么用啊
追答
using System.Collections;
ArrayList mylist = new ArrayList();
mylist.add(0);
mylist.add(1);
foreach(int i in mylist)
{
messagebox.show(i);
}
输出,0,1,集合的索引号和存取的值可以是相同的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询