learn use c stringbuilder class
Denna handledning förklarar C # StringBuilder-klassen och dess metoder som att lägga till, rensa, ta bort, infoga, ersätta och lika i detalj med exempel:
StringBuilder-klass i C # fungerar med strängen när användning av repetitiva strängoperationer krävs.
En sträng är oföränderlig, dvs den kan inte ändras. När en viss sträng har skapats kan den inte ändras. Varje ändring eller uppdatering av strängen skapar ett nytt strängobjekt i minnet. Som det är uppenbart kommer detta beteende att hindra prestandan om den återkommande operationen utförs på samma sträng.
=> Kolla in de fördjupade C # -utbildningarna här
StringBuilder-klass i C # syftar till att lösa detta problem. Det tillåter dynamisk allokering av minne, dvs det kan utöka antalet tecken i strängen. Det skapar inte ett nytt minnesobjekt utan det ökar dynamiskt minnesstorleken så att den innehåller nya tecken.
Vad du kommer att lära dig:
Hur initierar jag C # StringBuilder?
StringBuilder initieras på samma sätt som alla andra klasser. Klassen StringBuilder finns i systemnamnsområdet. Texten måste importeras i klassen för instantiering.
Exempel för initialisering:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Resultatet från ovanstående program är:
Hallå
C # StringBuilder Methods
StringBuilder-klassen erbjuder också flera olika metoder för att arbeta med strängmanipulation.
# 1) Lägg till metod
Som föreslås av namnet lägger den till en uppsättning tecken eller strängar i slutet av den aktuella strängbyggaren. Det är mycket användbart för att förbättra prestanda när flera strängsammankopplingar måste utföras på samma sträng.
Exempel:
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 från ovanstående program kommer att vara:
Hallå
Hej världen
I programmet ovan hade vi först en sträng definierad via stringBuilder. Sedan använde vi Append () för att sammanfoga en annan sträng med den föregående. Om vi kör kodraden innan vi lägger till har den utdata som 'Hello' men när vi har lagt till den och skrivit ut resultatet kommer den att skriva ut 'Hello World', dvs. den tidigare strängen med den bifogade strängen.
# 2) Tydlig metod
Denna metod tar bort alla tecken från den aktuella StringBuilder. Det är till stor hjälp i scenarier där vi behöver få en tom sträng eller där vi behöver rensa data från en strängvariabel.
Exempel:
beslutsträdalgoritm vid datautvinning
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 från ovanstående program är:
Hallå
Hej världen
När vi utför en tydlig operation på StringBuilder och sedan försöker skriva ut den resulterande strängen. Vi får ett svart strängvärde. I ovanstående program har vi lagt till värdet i StringBuilder och vi skrev ut värdet till konsolen.
Sedan utförde vi en tydlig operation som tog bort allt värde från StringBuilder efter det när vi försökte skriva ut, det skrev ut ett tomt värde.
# 3) Ta bort metod
Ta bort liknar klart men med lite skillnad. Det tar också bort tecknen från StringBuilder men det gör det inom ett givet intervall till skillnad från tydligt vilket tar bort alla tecken som finns i StringBuilder. Ta bort används när scenariot kräver att programmet tar bort en viss uppsättning tecken från strängen istället för hela strängen.
Exempel:
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 från ovanstående program kommer att vara:
Hallå
Hej världen
He World
Ta bort accepterar två parametrar, den första betyder startindex, dvs. index för tecknet från vilket du vill börja ta bort. Den andra parametern accepterar också heltal som betyder längd, dvs. längden på det tecken som du vill ta bort från.
I ovanstående program gav vi startindex som 2 och längd som tre. Så det började ta bort karaktären från index 2, dvs. He'l'lo och vi gav längden som tre så, programmet tog bort tre tecken från 'l', så 'l l o' togs bort.
# 4) Infoga metod
Den infogar ett eller flera tecken i strängen vid det angivna indexet. Det låter också användaren ange hur många gånger strängen eller tecknet måste infogas i StringBuilder. Den används under de förhållanden där tecknen måste infogas i den angivna strängen på en specifik position.
Exempel:
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 från ovanstående program kommer att vara:
Hej världen
He_insert_llo Världen
I ovanstående program används Insert-metoden för att infoga tecken i ett visst index. Infoga metoden accepterar två parametrar. Den första parametern är ett heltal som anger indexet där tecknen ska infogas. Den andra parametern accepterar tecken som användaren vill infoga i det angivna indexet.
# 5) Ersätt metod
Ersättningsmetoden ersätter alla förekomster av den angivna strängen i StringBuilder med den sträng eller det tecken som tillhandahålls av användaren. Den ersätter specifika tecken i ett visst index. Den kan användas i scenarier där några av karaktärerna måste ersättas med en annan karaktär.
Exempel:
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 från ovanstående program är:
Hej världen
Hej världen
I ovanstående program använde vi metoden Ersätt för att ersätta “Hej” med “Hej”. Ersättningsmetoden accepterar två parametrar, den första är strängen eller tecknen som du vill ersätta och den andra är strängen eller tecknet du vill ersätta den med.
# 6) Lika metod
Som namnet antyder valideras det om en StringBuilder är lika med andra eller inte. Den accepterar StringBuilder som en parameter och returnerar ett booleskt värde baserat på det uppnådda jämställdhetsvillkoret. Den här metoden är ganska användbar om du vill validera jämställdhetsvillkoret för två StringBuilders.
Exempel:
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 från ovanstående program kommer att vara:
Falsk
Sann
I ovanstående program är det första och det tredje StringBuilder-objektet lika, dvs. de har samma värde. Därför, när vi jämställde först med det andra, returnerade det ett falskt värde men när vi likställde första och tredje var lika var det sant.
Slutsats
StringBuilder-klass i C # används för att förbättra prestanda där flera operationer på en sträng utförs.
Att vara oföränderlig, när en sträng modifieras skapar den en annan sträng i objektet. StringBuilder syftar till att minska det.
Det tillåter användaren att utföra modifiering på samma objekt genom att allokera dynamiskt minne. Detta innebär att det kan öka minnesstorleken om det behövs för att rymma mer data.
=> Läs igenom C # -guiden för nybörjare här
Rekommenderad läsning
- C # Stränghandledning - Strängmetoder med kodexempel
- Vad är jämförelsetestning (lär dig med exempel)
- C # -funktioner / metodhandledning med kodexempel
- Java-gränssnitt och abstrakt klasshandledning med exempel
- Java-trådar med metoder och livscykel
- Funktioner för datum och tid i C ++ med exempel
- Skalsortering i C ++ med exempel
- Lambdas i C ++ med exempel