Ich habe eine Methode mit HashSet-Parameter. Und ich muss zwischen Groß- und Kleinschreibung unterscheiden.
public void DoSomething(HashSet<string> set, string item)
{
var x = set.Contains(item);
...
}
Ist es eine Möglichkeit, vorhandene HashSet-Groß- und Kleinschreibung nicht zu berücksichtigen (erstellen Sie keine neue)?
Ich suche nach einer Lösung mit bester Leistung.
Bearbeiten
Enthält kann mehrfach aufgerufen werden. Daher sind IEnumerable-Erweiterungen für mich aufgrund der geringeren Leistung als die native HashSet Contains-Methode nicht akzeptabel.
Lösung
Da die Antwort auf meine Frage NEIN ist, ist es unmöglich, dass ich folgende Methode erstellt und verwendet habe:
public HashSet<string> EnsureCaseInsensitive(HashSet<string> set)
{
return set.Comparer == StringComparer.OrdinalIgnoreCase
? set
: new HashSet<string>(set, StringComparer.OrdinalIgnoreCase);
}