CA1308: Znormalizuj ciągi na wielkie litery
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1308 |
Stanowisko | Normalizuj ciągi do postaci zapisanej wielkimi literami |
Kategoria | Globalizacja |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 8 | Nie. |
Przyczyna
Operacja normalizuje ciąg do małych liter.
Opis reguły
Ciągi powinny być znormalizowane do użycia wielkich liter. Niewielka grupa znaków, gdy są konwertowane na małe litery, nie może wykonać rundy. Aby wykonać rundę, należy przekonwertować znaki z jednego ustawienia regionalnego na inne ustawienia regionalne, które reprezentują dane znaków inaczej, a następnie dokładnie pobrać oryginalne znaki z przekonwertowanych znaków.
Jak naprawić naruszenia
Zmień operacje konwertujące ciągi na małe litery, aby zamiast tego ciągi zostały przekonwertowane na wielkie litery. Na przykład zmień wartość String.ToLower(CultureInfo.InvariantCulture)
na String.ToUpper(CultureInfo.InvariantCulture)
.
Kiedy pomijać ostrzeżenia
Można bezpiecznie pominąć ostrzeżenie, gdy nie podejmujesz decyzji dotyczących zabezpieczeń na podstawie wyniku normalizacji (na przykład podczas wyświetlania wyniku w interfejsie użytkownika).
Pomijanie ostrzeżenia
Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable CA1308
// The code that's violating the rule is on this line.
#pragma warning restore CA1308
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_diagnostic.CA1308.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.