如何替换LinkedList中的元素



如何在c#中替换链表中的元素?而在java中,可以使用set或add方法来替换列表中的特定元素…我找不到如何在c#中替换它

将值2替换为3:

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

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

  1. 查找要替换的节点
  2. 在该节点(AddBefore)之前插入一个新节点
  3. 删除原节点

你也可以用AddAfter。结果是一样的

使用LinkedList<T>,您可以处理LinkedListNode<T>项。LinkedListNode<T>有一个Value属性,你可以使用它来获取或设置一个特定的项。

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

Java:

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;

相关内容

  • 没有找到相关文章

最新更新