【发布时间】:2012-09-03 23:01:59
【问题描述】:
我有这个结构:
struct Map
{
public int Size;
public Map ( int size )
{
this.Size = size;
}
public override string ToString ( )
{
return String.Format ( "Size: {0}", this.Size );
}
}
当使用数组时,它可以工作:
Map [ ] arr = new Map [ 4 ] {
new Map(10),
new Map(20),
new Map(30),
new Map(40)};
arr [ 2 ].Size = 0;
但是使用List的时候,编译不出来:
List<Map> list = new List<Map> ( ) {
new Map(10),
new Map(20),
new Map(30),
new Map(40)};
list [ 2 ].Size = 0;
为什么?
【问题讨论】:
-
不起作用是什么意思?它编译吗?它会引发运行时异常吗?它是否运行但属性没有相应改变?
-
很抱歉以前从未见过这个问题..
-
@Peter Mortensen:无需在标题中添加“C#”。自it's a tag 以来,SO 处理得很好