小编Dar*_*ren的帖子

更改结构列表中元素的值

我有一个结构列表,我想改变一个元素.例如 :

MyList.Add(new MyStruct("john");
MyList.Add(new MyStruct("peter");
Run Code Online (Sandbox Code Playgroud)

现在我想改变一个元素:

MyList[1].Name = "bob"
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试这样做时,我都会收到以下错误:

无法修改System.Collections.Generic.List.this [int]'的返回值,因为它不是变量

如果我使用类列表,则不会出现问题.

我想答案与结构是一种值类型有关.

那么,如果我有一个结构列表,我应该将它们视为只读吗?如果我需要更改列表中的元素,那么我应该使用类而不是结构?

c# struct value-type

61
推荐指数
5
解决办法
8万
查看次数

标签 统计

c# ×1

struct ×1

value-type ×1