怎么使用C#里的集合?我用集合加进来的是一个结构体数组。我无法获取结构体里元素的值.... 50
intA=this.Sub_YPK[i].X;这样写报错。请问应该怎么改??Sub_YPK是集合。privateArrayListSub_YPK=newArrayList...
int A=this.Sub_YPK[i].X;这样写报错。请问应该怎么改??
Sub_YPK是集合。
private ArrayList Sub_YPK = new ArrayList();
this.Sub_YPK.Add(i);
this.YPK[i] = L[i];
L[i]是个结构体类型的数组.
struct L{
int X;
Int Y;}
这样写可以:
int A=((L)this.Sub_YPK[i]).X;
但是
((L)this.Sub_YPK[i]).X=3;这样写报错:无法修改装箱操作的结果。
this.Sub_YPK[i].X=3;也不行,说X是未定义的 展开
Sub_YPK是集合。
private ArrayList Sub_YPK = new ArrayList();
this.Sub_YPK.Add(i);
this.YPK[i] = L[i];
L[i]是个结构体类型的数组.
struct L{
int X;
Int Y;}
这样写可以:
int A=((L)this.Sub_YPK[i]).X;
但是
((L)this.Sub_YPK[i]).X=3;这样写报错:无法修改装箱操作的结果。
this.Sub_YPK[i].X=3;也不行,说X是未定义的 展开
3个回答
展开全部
声明Sub_YPK的代码贴出来看看。
---------更新---------------
ArrayList是.net1.1的类了,太古老了,存储的是object类型,取的时候要转换,就像你上面那样。
从.net2.0开始引入了泛型,ArrayList就被List<T>替代了。现在不提倡用ArrayList。
---------更新---------------
ArrayList是.net1.1的类了,太古老了,存储的是object类型,取的时候要转换,就像你上面那样。
从.net2.0开始引入了泛型,ArrayList就被List<T>替代了。现在不提倡用ArrayList。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#中不建议使用结构体和ArrayList
public class L
{
public int X;
public int Y;
}
var Sub_YPK = new List<L>();
// 循环添加数据
Sub_YPK.Add(new L() { X = 1, Y = 2 });
// 赋值
Sub_YPK[0].X = 3;
public class L
{
public int X;
public int Y;
}
var Sub_YPK = new List<L>();
// 循环添加数据
Sub_YPK.Add(new L() { X = 1, Y = 2 });
// 赋值
Sub_YPK[0].X = 3;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-28
展开全部
可能是你的X属性没有被public声明。没有被声明public的属性是无法通过外部访问的。检查一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询