Heim >Backend-Entwicklung >C++ >Wie führt man String-Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung in .NET effizient durch?

Wie führt man String-Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung in .NET effizient durch?

DDD
DDDOriginal
2025-01-19 12:56:10679Durchsuche

How to Perform Case-Insensitive String Comparisons in .NET Efficiently?

Groß-/Kleinschreibung beim Vergleich von Zeichenfolgen in .NET

Bei vielen Programmieraufgaben ist die Durchführung von Zeichenfolgenvergleichen ohne Berücksichtigung der Groß-/Kleinschreibung von entscheidender Bedeutung. In diesem Artikel wird erläutert, wie Sie dieses Problem effizient lösen können.

Das Ziel besteht darin, dass die folgenden Codezeilen die Groß-/Kleinschreibung ignorieren:

<code>drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);</code>

Die Verwendung der Equals-Methode und StringComparison.OrdinalIgnoreCase scheint zu funktionieren:

<code>x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));</code>

Die Verwendung dieser Methode innerhalb eines FindIndex-Ausdrucks führt jedoch nicht zu den erwarteten Ergebnissen.

Das Hauptproblem ist die Verwendung von x.Username.Equals. Während diese Methode intern Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung durchführt, gibt sie nicht den Index des übereinstimmenden Elements zurück.

Best Practices für den .NET-Zeichenfolgenvergleich ohne Berücksichtigung der Groß-/Kleinschreibung

Um String-Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung in .NET korrekt durchzuführen, wird empfohlen, die Methode String.Compare und StringComparison.OrdinalIgnoreCase zu verwenden:

<code>String.Compare(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase) == 0</code>

Alternativ können Sie die Methode String.Equals und das Flag StringComparison.OrdinalIgnoreCase verwenden:

<code>String.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase)</code>

MSDN empfiehlt diese Methoden zum Testen der String-Gleichheit bzw. zum Sortieren von Strings:

  • String.Equals:zum Testen der Gleichheit
  • String.Compare und String.CompareTo: werden zum Sortieren verwendet

Das obige ist der detaillierte Inhalt vonWie führt man String-Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung in .NET effizient durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn