CA1308: строки следует нормализовать в верхнем регистре

Свойство Значение
Идентификатор правила CA1308
Заголовок Нормализуйте строки в верхний регистр
Категория Глобализация
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .NET 8 No

Причина

Операция нормализует строку в нижний регистр.

Описание правила

Строки следует нормализовать в верхний регистр. Существует небольшая группа символов, которые после преобразования в нижний регистр не могут участвовать в круговом пути. Участие в круговом пути означает преобразование символов из одного языкового стандарта в другой языковой стандарт, по другому представляющий символьные данные, и последующее точное извлечение исходных символов из преобразованных символов.

Устранение нарушений

Измените операции, которые преобразуют строки в нижний регистр, так, чтобы строки преобразовывались в верхний регистр. Например, измените String.ToLower(CultureInfo.InvariantCulture) на String.ToUpper(CultureInfo.InvariantCulture).

Когда лучше отключить предупреждения

Можно отключить предупреждение для этого правила, если вы не принимаете решение по обеспечению безопасности на основе результата нормализации (например, при отображении результата в пользовательском интерфейсе).

Отключение предупреждений

Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

#pragma warning disable CA1308
// The code that's violating the rule is on this line.
#pragma warning restore CA1308

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

[*.{cs,vb}]
dotnet_diagnostic.CA1308.severity = none

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

См. также