Was ist der richtige Weg, um char ignorierende Fall zu vergleichen?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Was ist der richtige Weg, um char ignorierende Fall zu vergleichen?

by Anonymous » 18 Aug 2025, 19:22

Ich frage mich, wie der richtige Weg ist, zwei Charaktere zu vergleichen, die den Fall ignorieren und für alle Kulturen funktionieren. Ist auch Compuster .Default der beste Weg, um zwei Zeichen zu testen, ohne den Fall zu ignorieren? Funktioniert dies für Ersatzpairs?

Code: Select all

public class CaseInsensitiveCharComparer : IComparer {
private readonly System.Globalization.CultureInfo ci;
public CaseInsensitiveCharComparer(System.Globalization.CultureInfo ci) {
this.ci = ci;
}
public CaseInsensitiveCharComparer()
: this(System.Globalization.CultureInfo.CurrentCulture) { }
public int Compare(char x, char y) {
return Char.ToUpper(x, ci) - Char.ToUpper(y, ci);
}
}

// Prints 3
Console.WriteLine("This is a test".CountChars('t', new CaseInsensitiveCharComparer()));

Top