CA1308: Normalisera strängar till versaler
Property | Värde |
---|---|
Regel-ID | CA1308 |
Title | Normalisera strängar till versaler |
Kategori | Globalisering |
Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
Aktiverad som standard i .NET 9 | Nej |
Orsak
En åtgärd normaliserar en sträng till gemener.
Regelbeskrivning
Strängar bör normaliseras till versaler. En liten grupp tecken, när de konverteras till gemener, kan inte göra en tur och retur-resa. Om du vill göra en tur och retur-resa innebär det att konvertera tecknen från ett språk till ett annat språk som representerar teckendata på olika sätt och sedan att korrekt hämta de ursprungliga tecknen från de konverterade tecknen.
Så här åtgärdar du överträdelser
Ändra åtgärder som konverterar strängar till gemener så att strängarna konverteras till versaler i stället. Ändra String.ToLower(CultureInfo.InvariantCulture)
till exempel till String.ToUpper(CultureInfo.InvariantCulture)
.
När du ska ignorera varningar
Det är säkert att ignorera en varning när du inte fattar säkerhetsbeslut baserat på resultatet av normaliseringen (till exempel när du visar resultatet i användargränssnittet).
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable CA1308
// The code that's violating the rule is on this line.
#pragma warning restore CA1308
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.CA1308.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.