怎么使用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是未定义的
展开
 我来答
阳光的雷咩咩
2014-01-28 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7877万
展开全部
声明Sub_YPK的代码贴出来看看。
---------更新---------------
ArrayList是.net1.1的类了,太古老了,存储的是object类型,取的时候要转换,就像你上面那样。
从.net2.0开始引入了泛型,ArrayList就被List<T>替代了。现在不提倡用ArrayList。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tigerlee5680
2014-02-04 · 超过27用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:59.5万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-28
展开全部
可能是你的X属性没有被public声明。没有被声明public的属性是无法通过外部访问的。检查一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式