learn use c stringbuilder class
Acest tutorial explică clasa C # StringBuilder și metodele sale precum atașare, ștergere, eliminare, inserare, înlocuire și egal în detaliu cu exemple:
Clasa StringBuilder din C # funcționează cu șirul atunci când este necesară utilizarea operațiilor repetitive de șir.
Un șir este imuabil, adică nu poate fi schimbat. Odată creat un anumit șir, acesta nu poate fi schimbat. Orice modificare sau actualizare a șirului va crea un nou șir de obiecte în memorie. După cum este evident, acest comportament va împiedica performanța dacă operația recurentă este efectuată pe același șir.
=> Consultați aici tutorialele de instruire în profunzime C #
Clasa StringBuilder din C # își propune să rezolve această problemă. Permite alocarea dinamică a memoriei, adică poate extinde numărul de caractere din șir. Nu creează un nou obiect de memorie, ci crește dinamic dimensiunea memoriei pentru a conține caractere noi.
Ce veți învăța:
Cum se inițializează C # StringBuilder?
StringBuilder este inițializat similar cu orice altă clasă. Clasa StringBuilder este prezentă în spațiul de nume System. Textul trebuie importat în clasă pentru instanțierea.
Exemplu de inițializare:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } } Ieșirea programului de mai sus este:
Buna ziua
C # Metode StringBuilder
Clasa StringBuilder oferă, de asemenea, mai multe metode diferite pentru a lucra la manipularea șirurilor.
# 1) Adăugați metoda
După cum sugerează numele, adaugă un set de caractere sau șir la sfârșitul actualului String Builder. Este foarte util în îmbunătățirea performanței atunci când sunt necesare mai multe concatenări de șiruri pentru același șir.
Exemplu:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }Ieșirea programului de mai sus va fi:
Buna ziua
Salut Lume
În programul de mai sus, am avut mai întâi un șir definit prin stringBuilder. Apoi am folosit Append () pentru a concatena un alt șir cu cel anterior. Dacă executăm linia de cod înainte de a adăuga, atunci are ieșirea ca „Bună ziua”, dar odată ce o adăugăm și imprimăm rezultatul, se va imprima „Bună ziua lumii”, adică șirul anterior cu șirul adăugat.
# 2) Metoda clară
Această metodă elimină toate caracterele din StringBuilder curent. Este foarte util în scenarii în care trebuie să obținem un șir gol sau în care trebuie să ștergem datele dintr-o variabilă de șir.
Exemplu:
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(); } }Ieșirea programului de mai sus este:
Buna ziua
Salut Lume
Când efectuăm o operație clară pe StringBuilder și apoi încercăm să imprimăm șirul rezultat. Vom obține o valoare de șir negru. În programul de mai sus, am adăugat valoarea în StringBuilder și am imprimat valoarea în consolă.
Apoi am efectuat o operație clară care a eliminat toată valoarea din StringBuilder după aceea, când am încercat să imprimăm, a imprimat o valoare necompletată.
# 3) Metoda de eliminare
Eliminare este similară cu clar, dar cu o mică diferență. De asemenea, elimină caracterele din StringBuilder, dar o face într-un interval dat, spre deosebire de clear, care elimină toate caracterele prezente în StringBuilder. Eliminare este utilizată ori de câte ori scenariul necesită ca programul să elimine un anumit set de caractere din șir în loc de întregul șir.
Exemplu:
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(); } }Ieșirea programului de mai sus va fi:
Buna ziua
Salut Lume
El Lumea
Eliminare acceptă doi parametri, primul indică indexul de pornire, adică indexul caracterului de unde doriți să începeți eliminarea. Al doilea parametru acceptă, de asemenea, un număr întreg care semnifică lungimea, adică lungimea caracterului din care doriți să eliminați.
În programul de mai sus, am furnizat indexul de pornire ca 2 și lungimea ca trei. Deci, a început să scoată caracterul din indexul 2, adică He’l’lo și am dat lungimea ca trei, deci programul a eliminat trei caractere din „l”, astfel „l l o” a fost eliminat.
# 4) Metoda de inserare
Se inserează unul sau mai multe caractere în interiorul șirului la indexul dat. De asemenea, permite utilizatorului să specifice de câte ori șirul sau caracterul trebuie introdus în StringBuilder. Este utilizat în condițiile în care caracterele trebuie să fie inserate în șirul dat într-o poziție specifică.
Exemplu:
testarea întrebărilor de interviu pentru profesioniști cu experiență, cu răspunsuri
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }Ieșirea programului de mai sus va fi:
Salut Lume
He_insert_llo World
În programul de mai sus, metoda Insert este utilizată pentru a insera caractere la un anumit index. Metoda insert acceptă doi parametri. Primul parametru este un număr întreg care indică indexul în care trebuie inserate caracterele. Al doilea parametru acceptă caractere pe care utilizatorul dorește să le introducă la indexul dat.
# 5) Înlocuiți metoda
Metoda de înlocuire înlocuiește toate aparițiile șirului specificat în StringBuilder cu șirul sau caracterul furnizat de utilizator. Înlocuiește caractere specifice la un anumit index. Poate fi folosit în scenarii în care unele dintre personaje trebuie să fie înlocuite cu un alt personaj.
Exemplu:
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(); } }Ieșirea programului de mai sus este:
Salut Lume
Bună Lumea
În programul de mai sus, am folosit metoda Replace pentru a înlocui „Hello” cu „Hi”. Metoda de înlocuire acceptă doi parametri, primul este șirul sau caracterele pe care doriți să le înlocuiți, iar al doilea este șirul sau caracterul cu care doriți să îl înlocuiți.
# 6) Metoda Egală
După cum sugerează și numele, acesta validează dacă un StringBuilder este sau nu egal cu alții. Acceptă StringBuilder ca parametru și returnează o valoare booleană pe baza condiției de egalitate atinsă. Această metodă este destul de utilă dacă doriți să validați condiția de egalitate pentru doi StringBuilders.
Exemplu:
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(); } }Ieșirea programului de mai sus va fi:
Fals
Adevărat
În programul de mai sus, primul și al treilea obiect StringBuilder sunt egale, adică au aceeași valoare. Prin urmare, când am echivalat primul cu al doilea, a returnat o valoare falsă, dar când am echivalat primul și al treilea fiind egali, a revenit adevărat.
Concluzie
Clasa StringBuilder din C # este utilizată pentru îmbunătățirea performanței în cazul în care sunt efectuate mai multe operații pe un șir.
Fiind imuabil, ori de câte ori un șir este modificat creează un alt obiect șir în memorie. StringBuilder își propune să reducă acest lucru.
Permite utilizatorului să efectueze modificări pe același obiect prin alocarea memoriei dinamice. Aceasta înseamnă că poate crește dimensiunea memoriei dacă este necesar pentru a găzdui mai multe date.
=> Citiți aici Ghidul C # pentru începători
Lectură recomandată
- C # String Tutorial - Metode de șiruri cu exemple de coduri
- Ce este testarea comparativă (Aflați cu exemple)
- C # Funcții / Metode Tutorial cu exemple de cod
- Interfață Java și tutorial de clasă abstractă cu exemple
- Fire Java cu metode și ciclu de viață
- Funcții de dată și oră în C ++ cu exemple
- Sortare Shell în C ++ cu exemple
- Lambdas în C ++ cu exemple