Verwendung der IEqualityComparer <T> -Schnittstelle und der EqualityComparer <T> -Klasse in C #

Ich programmiere eine zirkuläre verknüpfte Liste mitDieser Artike als Hilfe.

In einer Funktion, die in dieser Liste nach einem Knoten mit einem bestimmten Wert sucht

    public Node<T> Find(T item)
    {
        Node<T> node = FindNode(head, item);
        return node;
    }

    Node<T> FindNode(Node<T> node, T valueToCompare)
    {
        Node<T> result = null;
        if (comparer.Equals(node.Value, valueToCompare))
            result = node;
        else if (result == null && node.Next != head)
            result = FindNode(node.Next, valueToCompare);
        return result;
    }

ein Autor verwendet einIEqualityComparer<T> comparer Objekt, das mit einer Eigenschaft @ initialisiert wiEqualityComparer<T>.Default in einem der Konstruktoren. Können Sie mir bitte eine Idee für die Verwendung dieser Schnittstelle erklären IEqualityComparer<T>) und Klasse EqualityComparer<T>) Hier? Ich hatte MSDN gelesen, aber ich verstand die Prinzipien der Arbeit und Verwendung von MSDN nicht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage