如何添加对列表

时间:2016-06-08 14:24:39

标签: c# list reference

我认为List包含对象的引用,所以我想我可以创建一个自己的自定义类的对象,名为" Node",将它添加到列表中,然后通过分配它来删除该对象用null。 (我知道我可以使用列表中的删除,但这不是我想要做的。)所以当我再次打印列表时,它仍会打印出对象的名称" testNode"即使我分配了null。如何添加对列表的引用?

Node testNode = new Node("Name", id);
List<Node> listNodes = new List<Node>();
listNodes.Add(testNode);

for (int i = 0; i < listNodes.Count; i++)
    listNodes[i].ToString();

testNode = null;

for (int i = 0; i < listNodes.Count; i++)
    listNodes[i].ToString();

1 个答案:

答案 0 :(得分:4)

您添加到列表中的内容是对该Node 实例的引用。不是对你的变量的引用。

使用

testNode = null;

您只需将null分配给您的变量。这对于引用的实际实例testNode没有任何作用。它不会更改列表或从列表中删除引用

因此,从列表中移除引用的唯一方法是 - 嗯 - Remove

listNodes.Remove(testNode);