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

Ein Treffpunkt für C#-Programmierer
Anonymous
 Was ist der richtige Weg, um char ignorierende Fall zu vergleichen?

Post by Anonymous »

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()));

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post