Dela via


CA2251: Använd String.Equals över String.Compare

Property Värde
Regel-ID CA2251
Rubrik Använd String.Equals över String.Compare
Kategori Användning
Korrigeringen är icke-bakåtkompatibel Icke-icke-bryta
Aktiverad som standard i .NET 8 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.

Se även