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.