Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何替换LinkedList中的元素?_C#_.net_Replace_Linked List - Fatal编程技术网

C# 如何替换LinkedList中的元素?

C# 如何替换LinkedList中的元素?,c#,.net,replace,linked-list,C#,.net,Replace,Linked List,如何在C#中替换链表中的元素?在java中,可以使用set或add方法替换列表中的特定元素。。。我找不到如何在C#中替换它。链表节点没有replace方法。要替换节点,您必须: 查找要替换的节点 在该节点之前插入新节点(AddBefore) 删除原始节点 您也可以使用AddAfter。结果将是相同的。将值2替换为3: LinkedList<int> ll; ll.Find(2).Value = 3; LinkedList ll; ll.Find(2).值=3; 使用LinkedLi

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

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

  • 查找要替换的节点
  • 在该节点之前插入新节点(
    AddBefore
  • 删除原始节点

  • 您也可以使用
    AddAfter
    。结果将是相同的。

    将值2替换为3:

    LinkedList<int> ll;
    ll.Find(2).Value = 3;
    
    LinkedList ll;
    ll.Find(2).值=3;
    
    使用
    LinkedList
    可以处理
    LinkedListNode
    LinkedListNode
    具有一个
    属性,您可以使用该属性获取或设置特定项

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

    爪哇:

    c#:

    然而,在内部,c#也调用getter和setter方法。您可以在c#中声明这样的属性:

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

    public int MyProperty { get; set; }
    
    在链接列表中,您将更改列表的第一个元素,如下所示:

    myLinkedList.Fist.Value = your new value;
    

    看看“喜欢的列表”,你指的是
    LinkedList
    类,对吧?+1有趣。我将“替换元素”解释为替换节点,而您将其解释为更改值。我不能说这两种解释是“对”还是“错”,但我更喜欢你的解决方案。
    private int _myProperty;
    public int MyProperty {
        get { return _myProperty; }
        set { _myProperty = value; }
    }
    
    public int MyProperty { get; set; }
    
    myLinkedList.Fist.Value = your new value;