CA1308: Normalizar cadeias de caracteres em maiúsculas
Property | Valor |
---|---|
ID da regra | CA1308 |
Título | Normalizar cadeias de caracteres em maiúsculas |
Categoria | Globalização |
Correção interruptiva ou sem interrupção | Sem interrupção |
Habilitado por padrão no .NET 8 | Não |
Causa
Uma operação normaliza uma cadeia de caracteres em minúsculas.
Descrição da regra
As cadeias de caracteres devem ser normalizadas em maiúsculas. Um pequeno grupo de caracteres não pode fazer a viagem de ida e volta quando convertido em minúsculas. Fazer uma viagem de ida e volta significa converter os caracteres de uma localidade em outra que represente dados de caracteres de forma diferente e, em seguida, recuperar com precisão os caracteres originais daqueles convertidos.
Como corrigir violações
Altere as operações que convertem cadeias de caracteres em minúsculas para que as cadeias de caracteres sejam convertidas em maiúsculas. Por exemplo, altere String.ToLower(CultureInfo.InvariantCulture)
para String.ToUpper(CultureInfo.InvariantCulture)
.
Quando suprimir avisos
É seguro suprimir um aviso quando você não está tomando decisões de segurança com base no resultado da normalização (por exemplo, quando você está exibindo o resultado na interface do usuário).
Suprimir um aviso
Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.
#pragma warning disable CA1308
// The code that's violating the rule is on this line.
#pragma warning restore CA1308
Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none
no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.CA1308.severity = none
Para obter mais informações, confira Como suprimir avisos de análise de código.