Løst: streng er lig med ignorer store og små bogstaver

Sidste ændring: 09/11/2023
Forfatter: C SourceTrail

C# er et mangefacetteret sprog med et væld af funktioner, der gør programmeringsopgaver mere ubesværede. En sådan funktion er evnen til at sammenligne strenge, mens man ser bort fra deres casing ved hjælp af StringComparison-optællingen. 'string.Equals'-funktionen bruges til at opnå dette.

Strengsammenligning er afgørende i mange programmeringsscenarier. Men ofte er vi ligeglade med tilfældet med den tekst, vi sammenligner. C# forenkler denne proces ved hjælp af en funktionalitet, der er kernen i mange operationer. Denne funktionalitet giver ikke kun en løsning på almindelige fejl, men forbedrer også programfleksibiliteten.

string str1 = "Hej verden";
streng str2 = "hej verden";

bool isEqual = str1.Equals(str2, StringComparison.OrdinalIgnoreCase);

Ovenstående kodestykke viser en typisk anvendelse af "string.Equals" med "StringComparison.OrdinalIgnoreCase" opregningen. Funktionskaldet sammenligner de to strenge og returnerer sand eller falsk afhængigt af deres indhold, uanset deres store og små bogstaver.

Forstå StringComparison.OrdinalIgnoreCase

StringComparison.OrdinalIgnoreCase er en opregningsværdi, der giver mulighed for en sammenligning af strenge, der ikke skelner mellem store og små bogstaver. Med andre ord, "hej" og "HEJ" betragtes som lige, når denne type sammenligning bruges.

Betydningen af ​​denne funktion kommer fra dens store applikationer. Hvis du f.eks. opretter et login-system, skelnes der normalt ikke mellem store og små bogstaver i brugernavne. Denne funktionalitet giver brugerne mulighed for at indtaste deres brugernavn i alle tilfælde, de foretrækker.

Udforsker String.Equals-funktionen

String.Equals er en statisk metode i klassen `String` i C#. Denne funktion tager to argumenter: strengen, der sammenlignes, og typen af ​​sammenligning. I dette tilfælde bruger vi `StringComparison.OrdinalIgnoreCase`.

Funktionen fungerer ved at iterere over de to strenge tegn for tegn. Hvis den støder på en konflikt (for en normal sammenligning mellem store og små bogstaver), returnerer den falsk. Men med `StringComparison.OrdinalIgnoreCase`, før tegnene sammenlignes, konverterer den begge til et universelt format (enten alle store eller små bogstaver), og udfører derefter sammenligningen.

Andre applikationer og relaterede funktioner

C# giver forskellige typer strengsammenligninger, såsom `StringComparison.CurrentCulture`, `StringComparison.CurrentCultureIgnoreCase`, `StringComparison.Ordinal` og `StringComparison.InvariantCulture`. Disse giver udviklere mulighed for at håndtere forskellige krav, såsom kulturfølsomme sammenligninger.

Bare husk, hver gang du har brug for at sammenligne strenge på en måde, der ikke tager højde for sagen, er `string.Equals` med `StringComparison.OrdinalIgnoreCase` et fremragende værktøj at bruge.

Fælles biblioteker til håndtering af strenge i C#

C# har en betydelig biblioteksunderstøttelse til at håndtere strenge. Dette inkluderer klassen 'System.String' og 'System.Text.StringBuilder', som begge giver forskellige metoder til at manipulere og sammenligne strenge, hvilket gør styringen af ​​strenge meget nemmere og effektiv.

Kort sagt giver C# robuste, funktionelle og forskellige metoder til at håndtere dine strengmanipulationsbehov. Uanset om det er forskellen mellem store og små bogstaver, tekstmanipulation eller mønstermatchning, har C# dig dækket med effektivitet.

Relaterede indlæg: