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.

Zobacz też