CA1307: StringComparison angeben
TypeName |
SpecifyStringComparison |
CheckId |
CA1307 |
Kategorie |
Microsoft.Globalization |
Unterbrechende Änderung |
Nicht unterbrechend |
Ursache
Ein Zeichenfolgenvergleich verwendet eine Methodenüberladung, durch die kein StringComparison-Parameter festgelegt wird.
Regelbeschreibung
Viele Zeichenfolgenoperationen, vor allem die Compare-Methode und die Equals-Methode, bieten eine Überladung, durch die ein StringComparison-Enumerationswert als Parameter akzeptiert wird.
Sobald eine Überladung vorhanden ist, die einen StringComparison-Parameter akzeptiert, sollte sie anstelle einer Überladung verwendet werden, die diesen Parameter nicht akzeptiert. Wenn Sie diesen Parameter explizit festlegen, ist der Code häufig verständlicher und leichter zu verwalten.
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, ändern Sie die Zeichenfolgenvergleichsmethoden in Überladungen, die die StringComparison-Enumeration als Parameter akzeptieren. Beispiel: Ändern Sie String.Compare(str1, str2) in String.Compare(str1, str2, StringComparison.Ordinal).
Wann sollten Warnungen unterdrückt werden?
Eine Warnung dieser Regel kann gefahrlos unterdrückt werden, wenn die Bibliothek oder Anwendung für eine begrenzte lokale Zielgruppe bestimmt ist und deshalb nicht lokalisiert wird.
Siehe auch
Referenz
CA1309: Ordinal-StringComparison verwenden