【发布时间】:2016-05-19 09:52:38
【问题描述】:
我有办法。所以我不需要帮助,但我有一个问题。此代码有效:
public void Delete(ref Node n)
{
n = n.next;
}
LinkedList list = new LinkedList();
list.AddTail(4);
list.AddTail(3);
list.AddTail(2);
list.AddTail(1);
list.AddTail(0);
list.Delete(ref list.head.next.next);
但是这段代码没有:
Node n = list.head.next.next;
list.Delete(ref n);
为什么?
编辑:
public class Node
{
public int number;
public Node next;
public Node(int number, Node next)
{
this.number = number;
}
}
【问题讨论】:
-
它给出了什么错误?
-
在什么情况下不起作用?
-
不给出任何错误。它只是没有做任何事情。
-
你用的是什么LinkedList?
-
我 认为 它不起作用,因为在第一种情况下,您正在更改
list.head.next的next属性,但在第二种情况下,您只是在更改您的节点局部变量n正在引用。
标签: c# .net linked-list ref