【发布时间】:2012-01-18 20:01:10
【问题描述】:
如何在 C# 中替换链表中的元素?虽然在 java 中可以使用 set 或 add 方法来替换列表中的特定元素...我找不到如何在 C# 中替换它。
【问题讨论】:
-
“点赞列表”是指
LinkedList<T>类,对吧?
标签: c# .net replace linked-list
如何在 C# 中替换链表中的元素?虽然在 java 中可以使用 set 或 add 方法来替换列表中的特定元素...我找不到如何在 C# 中替换它。
【问题讨论】:
LinkedList<T> 类,对吧?
标签: c# .net replace linked-list
链表节点没有Replace 方法。要替换节点,您必须:
AddBefore)您也可以使用AddAfter。结果是一样的。
【讨论】:
将值 2 替换为 3:
LinkedList<int> ll;
ll.Find(2).Value = 3;
【讨论】:
使用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;
【讨论】: