CA1308: строки следует нормализовать в верхнем регистре
Свойство | Значение |
---|---|
Идентификатор правила | CA1308 |
Заголовок | Нормализуйте строки в верхний регистр |
Категория | Глобализация |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию в .NET 9 | 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
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.