如何替换链表中的元素?

时间:2011-12-12 21:08:16

标签: c# .net replace linked-list

如何在C#中替换链接列表中的元素?在java中,可以使用set或add方法替换列表中的特定元素...我无法找到如何在C#中替换它。

3 个答案:

答案 0 :(得分:13)

将值2替换为3:

LinkedList<int> ll;
ll.Find(2).Value = 3;

答案 1 :(得分:7)

链表节点没有Replace方法。要替换节点,您必须:

  1. 找到要替换的节点。
  2. 在该节点(AddBefore
  3. 之前插入新节点
  4. 删除原始节点。
  5. 您也可以使用AddAfter。结果将是相同的。

答案 2 :(得分:2)

使用LinkedList<T>,您可以处理LinkedListNode<T>个项目。 LinkedListNode<T>具有Value属性,您可以使用该属性获取或设置特定项目。

与c#不同,Java没有集成在该语言中的属性概念。在Java中,您可以通过添加手工制作的set_Property和get_Property方法来创建属性。可以像字段一样访问c#属性。

爪哇:

obj.set_MyProperty(123);
x = obj.get_MyProperty();

C#:

obj.MyProperty = 123;
x = obj.MyProperty;

然而,在内部,c#也调用了getter和setter方法。你可以在c#:

中声明这样的属性
private int _myProperty;
public int MyProperty {
    get { return _myProperty; }
    set { _myProperty = value; }
}

在这种特殊情况下,当不涉及其他逻辑时,您可以使用自动实现的属性:

public int MyProperty { get; set; }

在链接列表中,您将更改列表的第一个元素,如下所示:

myLinkedList.Fist.Value = your new value;