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?
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()));
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]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())); [/code]
Ich möchte durch eine Zeichenfolge von Zeichen schauen und jeden herausziehen und jeder muss vom Typ const char* sein, damit ich sie an eine Funktion weitergeben kann. Hier ist ein Beispiel.
string...
Ich untersuche das Argumentabzug der Klassenvorlagen (CTAD) für ein Aggregat mit einem Array -Element, wenn er aus einem String -Literal initialisiert wurde.
#include
#include