【发布时间】:2013-10-24 20:07:59
【问题描述】:
我创建了一个 IList 变量,如下所示:
IList<vertex> matrix = new List<vertex> ();
这里,顶点是我用被访问的成员之一定义的结构(布尔值)。
但是,当我尝试通过遍历以下列表来修改此成员时:
matrix[j].visited = false;
它给出了一条错误消息“无法修改返回值,因为它不是变量”。知道为什么吗?
【问题讨论】:
-
vertex是一个结构。将其更改为class。如果您想要可变数据结构,请不要使用 struct -
谢谢。有效。我不知道。感谢您提供的信息。
-
@SriramSakthivel:虽然这很可能不是正确的方法。顶点类型作为不可变值类型可能会更好。
-
@JonSkeet 但是.. OP 想要变异 :)
-
@SriramSakthivel:OP 想要突变的效果。这并不意味着类型必须是可变的......