简体   繁体   English

C#如何从主程序运行链接列表的delete方法?

[英]C# How do I run a Linked List's delete method from the main program?

I have a user-made linked list (no LINQ). 我有一个用户创建的链接列表(没有LINQ)。 I have items in them but I want to delete some. 我有项目,但我想删除一些。

The delete method of my Linked List: 我的链表的删除方法:

public void Delete(ListElem elem)
    {
        ListaElem helper = null;
        ListaElem prev = null;
        while (helper != elem)
        {
            prev = helper;
            helper = helper.next;
        }

        prev.next = elem.next;
    }

After this I want to delete a specific element from this List but how do I call it? 此后,我想从此列表中删除特定元素,但是我怎么称呼它呢?

Let's say your class is called CustomLinkedList 假设您的课程称为CustomLinkedList

At some point in your code, you have instantiated the class: 在代码的某个时刻,您已经实例化了该类:

CustomLinkedList myList = new CustomLinkedList();

Next, you've added some elements to it: 接下来,您向其中添加了一些元素:

ListElem elem1 = new ListElem();
myList.Add(elem1);

In order to delete an element, all you have to do is say: 为了删除一个元素,您要做的就是:

myList.Delete(elem1);

Now, what if you want to search the object for an element that has a certain field, perhaps a name? 现在,如果要在对象中搜索具有特定字段(也许是名称)的元素怎么办? You need another method, define it like this: 您需要另一个方法,像这样定义它:

public ListElem Find(String name){
   // For every item in my list, look for one that has a name that matches.
}

Now you can find a particular item and then delete it. 现在,您可以找到一个特定的项目,然后将其删除。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM