learn use c stringbuilder class
Denne opplæringen forklarer C # StringBuilder-klassen og dens metoder som å legge til, fjerne, fjerne, sette inn, erstatte og like i detalj med eksempler:
StringBuilder-klassen i C # fungerer med strengen når det er nødvendig med gjentatte strengoperasjoner.
En streng er uforanderlig, dvs. den kan ikke endres. Når en bestemt streng er opprettet, kan den ikke endres. Enhver endring eller oppdatering av strengen vil opprette et nytt strengobjekt i minnet. Som det er tydelig, vil denne oppførselen hindre ytelsen hvis den gjentatte operasjonen utføres på samme streng.
=> Sjekk ut de grundige C # -opplæringsveiledningene her
StringBuilder-klassen i C # tar sikte på å løse dette problemet. Det tillater dynamisk tildeling av minne, dvs. det kan utvide antall tegn i strengen. Det lager ikke et nytt minneobjekt, men øker minnestørrelsen dynamisk slik at den inneholder nye tegn.
Hva du vil lære:
Hvordan initialisere C # StringBuilder?
StringBuilder initialiseres på samme måte som andre klasser. StringBuilder-klassen er tilstede i systemnavnet. Teksten må importeres i klassen for instantiering.
Eksempel for initialisering:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet av programmet ovenfor er:
Hallo
C # StringBuilder Methods
StringBuilder-klassen tilbyr også flere forskjellige metoder for å jobbe med strengmanipulering.
# 1) Legg til metode
Som navnet antyder, legger det til et sett med tegn eller streng på slutten av gjeldende String Builder. Det er veldig nyttig å forbedre ytelsen når det er nødvendig å utføre flere strengkompateringer på samme streng.
Eksempel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet av programmet ovenfor vil være:
Hallo
Hei Verden
c vs c ++ forskjeller
I programmet ovenfor hadde vi først en streng definert via stringBuilder. Så brukte vi Append () for å sammenkoble en annen streng med den forrige. Hvis vi utfører kodelinjen før vi legger til, har den utdata som 'Hei', men når vi først har lagt den til og skriver ut resultatet, vil den skrive ut 'Hei verden', dvs. den forrige strengen med den vedlagte strengen.
# 2) Klar metode
Denne metoden fjerner alle tegnene fra gjeldende StringBuilder. Det er veldig nyttig i scenarier der vi trenger å få en tom streng eller der vi trenger å fjerne dataene fra en strengvariabel.
Eksempel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet av programmet ovenfor er:
Hallo
Hei Verden
Når vi utfører en klar operasjon på StringBuilder og deretter prøver å skrive ut den resulterende strengen. Vi får en svart strengverdi. I programmet ovenfor har vi lagt til verdien i StringBuilder, og vi skrev ut verdien til konsollen.
Deretter utførte vi en klar operasjon som fjernet all verdien fra StringBuilder etter det, da vi prøvde å skrive ut, skrev den ut en tom verdi.
# 3) Fjern metode
Fjern ligner klart, men med litt forskjell. Det fjerner også tegnene fra StringBuilder, men det gjør det innenfor et gitt område i motsetning til klart som fjerner alle tegnene som er til stede i StringBuilder. Fjern brukes når scenariet krever at programmet fjerner et bestemt sett med tegn fra strengen i stedet for hele strengen.
Eksempel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet av programmet ovenfor vil være:
Hallo
Hei Verden
Han verden
Fjern godtar to parametere, den første betyr startindeksen, dvs. indeks for tegnet der du vil begynne å fjerne. Den andre parameteren godtar også heltall som betyr lengde, dvs. lengden på tegnet du vil fjerne fra.
I programmet ovenfor ga vi startindeksen som 2 og lengden som tre. Så det begynte å fjerne tegnet fra indeks 2, dvs. He'l'lo, og vi ga lengden som tre, så programmet fjernet tre tegn fra 'l' og dermed ble 'l l o' fjernet.
# 4) Sett inn metode
Den setter inn ett eller flere tegn i strengen ved den gitte indeksen. Det lar brukeren også spesifisere hvor mange ganger strengen eller tegnet må settes inn i StringBuilder. Den brukes i forholdene der det kreves at tegnene settes inn i den gitte strengen på en bestemt posisjon.
Eksempel:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet av programmet ovenfor vil være:
Hei Verden
He_insert_llo Verden
I programmet ovenfor brukes Sett inn-metoden til å sette inn tegn i en bestemt indeks. Sett inn metoden godtar to parametere. Den første parameteren er et helt tall som indikerer indeksen der tegnene skal settes inn. Den andre parameteren godtar tegn som brukeren vil sette inn i den gitte indeksen.
# 5) Erstatt metode
Erstatningsmetoden erstatter alle forekomster av den angitte strengen i StringBuilder av strengen eller tegnet som er gitt av brukeren. Den erstatter spesifikke tegn ved en bestemt indeks. Den kan brukes i scenarier der noen av tegnene må erstattes av et annet tegn.
Eksempel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet av programmet ovenfor er:
Hei Verden
Hei Verden
I programmet ovenfor brukte vi Erstatt-metoden for å erstatte “Hei” med “Hei”. Erstatningsmetoden godtar to parametere, den første er strengen eller tegnene du vil erstatte, og den andre er strengen eller tegnet du vil erstatte den med.
# 6) Lik metode
Som navnet antyder, validerer det om en StringBuilder er lik andre eller ikke. Den aksepterer StringBuilder som en parameter og returnerer en boolsk verdi basert på oppnådd likhetsbetingelse. Denne metoden er ganske nyttig hvis du vil validere likhetsbetingelsen for to StringBuilders.
Eksempel:
class Program { public static void Main(string() args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
Resultatet av programmet ovenfor vil være:
Falsk
ekte
I det ovennevnte programmet er det første og tredje StringBuilder-objektet like, dvs. de har samme verdi. Derfor, da vi likestilte først med den andre, returnerte den en falsk verdi, men når vi likestilte første og tredje som lik, returnerte den sann.
Konklusjon
StringBuilder-klasse i C # brukes til å forbedre ytelsen der flere operasjoner på en streng utføres.
Å være uforanderlig, hver gang en streng modifiseres, skaper den en annen strengobjekt i minnet. StringBuilder har som mål å redusere det.
Det tillater brukeren å utføre modifikasjoner på det samme objektet ved å tildele dynamisk minne. Dette betyr at det kan øke minnestørrelsen om nødvendig for å få plass til mer data.
=> Les gjennom C # -guiden for nybegynnere her
Anbefalt lesing
- C # String Tutorial - Strengmetoder med kodeeksempler
- Hva er sammenligningstesting (lær med eksempler)
- C # Funksjoner / metoder Opplæring med kodeeksempler
- Java-grensesnitt og abstrakt klasseopplæring med eksempler
- Java-tråder med metoder og livssyklus
- Funksjoner for dato og tid i C ++ med eksempler
- Skalsortering i C ++ med eksempler
- Lambdas In C ++ Med Eksempler