如何在C#中替换链接列表中的元素?在java中,可以使用set或add方法替换列表中的特定元素...我无法找到如何在C#中替换它。
答案 0 :(得分:13)
将值2替换为3:
LinkedList<int> ll;
ll.Find(2).Value = 3;
答案 1 :(得分:7)
链表节点没有Replace
方法。要替换节点,您必须:
AddBefore
)您也可以使用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;