CA1308: Normalizzare le stringhe in lettere maiuscole
Proprietà | valore |
---|---|
ID regola | CA1308 |
Title | Normalizzare le stringhe in lettere maiuscole |
Categoria | Globalizzazione |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitato per impostazione predefinita in .NET 9 | No |
Causa
Un'operazione normalizza una stringa in lettere minuscole.
Descrizione regola
Le stringhe devono essere normalizzate in maiuscolo. Un piccolo gruppo di caratteri, quando vengono convertiti in lettere minuscole, non può effettuare un round trip. Per eseguire un round trip significa convertire i caratteri da un'impostazione locale a un'altra che rappresenta i dati di tipo carattere in modo diverso e quindi recuperare in modo accurato i caratteri originali dai caratteri convertiti.
Come correggere le violazioni
Modificare le operazioni che convertono le stringhe in lettere minuscole in modo che le stringhe vengano convertite in lettere maiuscole. Puoi ad esempio modificare String.ToLower(CultureInfo.InvariantCulture)
in String.ToUpper(CultureInfo.InvariantCulture)
.
Quando eliminare gli avvisi
È possibile eliminare un avviso quando non si stanno prendendo decisioni di sicurezza in base al risultato della normalizzazione, ad esempio quando si visualizza il risultato nell'interfaccia utente.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable CA1308
// The code that's violating the rule is on this line.
#pragma warning restore CA1308
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none
su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.CA1308.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.