CA2251: Använd String.Equals
över String.Compare
Property | Värde |
---|---|
Regel-ID | CA2251 |
Title | Använd String.Equals över String.Compare |
Kategori | Användning |
Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
Aktiverad som standard i .NET 9 | Nej |
Orsak
Resultatet av ett anrop till String.Compare jämförs med noll.
Regelbeskrivning
String.Compare är utformad för att skapa en jämförelse av totalordning som kan användas för sortering. Om du bara bryr dig om huruvida strängarna är lika med, är det både tydligare och sannolikt snabbare att använda en motsvarande överlagring av String.Equals.
Så här åtgärdar du överträdelser
Om du vill åtgärda överträdelser av den här regeln ersätter du uttrycket som jämför resultatet av String.Compare med ett anrop till String.Equals.
När du ska ignorera varningar
Det är säkert att ignorera varningar från den här regeln.
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 CA2251
// The code that's violating the rule is on this line.
#pragma warning restore CA2251
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.CA2251.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.