首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么修改List成员的内容

2014-01-15 
如何修改List成员的内容?比如定义个结构struct test{public int apublic int b}定义个List Listtest l

如何修改List成员的内容?
比如定义个结构
struct test{
public int a;
public int b;
}

定义个List List<test> list;

如果单纯读取没有问题
int a = list[0].a;  //正确
但是如果进行赋值就不行
list[0].a=a;  //错误


那么如果要修改List中某个对象的某个成员值,有什么简便的办法。
[解决办法]
枚举器只能读,不能更改,
[解决办法]
因为test是一个结构,list[0]返回了一个结构的拷贝。因为在拷贝上修改a是没有意义的,所以编译器给出错误提示。

你可以把struct改成class。或者,以结构为单位进行操作:


test t = list[0];
t.a = 123;
list[0] = t;


[解决办法]
如上所述,struct是值类型,不是引用类型
[解决办法]
引用:
因为test是一个结构,list[0]返回了一个结构的拷贝。因为在拷贝上修改a是没有意义的,所以编译器给出错误提示。

你可以把struct改成class。或者,以结构为单位进行操作:

test t = list[0];
t.a = 123;
list[0] = t;


+1
[解决办法]
引用:
Quote: 引用:

因为test是一个结构,list[0]返回了一个结构的拷贝。因为在拷贝上修改a是没有意义的,所以编译器给出错误提示。

你可以把struct改成class。或者,以结构为单位进行操作:

test t = list[0];
t.a = 123;
list[0] = t;


+1

+10086
[解决办法]
引用:
如上所述,struct是值类型,不是引用类型

++

热点排行