learn use c stringbuilder class
Questo tutorial spiega in dettaglio la classe StringBuilder di C # ei suoi metodi come Aggiungi, Cancella, Rimuovi, Inserisci, Sostituisci e Equals con esempi:
La classe StringBuilder in C # funziona con la stringa quando è richiesto l'uso di operazioni di stringa ripetitive.
Una stringa è immutabile, ovvero non può essere modificata. Una volta creata una determinata stringa, non è possibile modificarla. Qualsiasi modifica o aggiornamento alla stringa creerà un nuovo oggetto stringa nella memoria. Come è evidente, questo comportamento ostacolerà le prestazioni se l'operazione ricorrente viene eseguita sulla stessa stringa.
=> Dai un'occhiata alle esercitazioni di formazione approfondite su C # qui
il posto migliore per guardare anime soprannominate
La classe StringBuilder in C # mira a risolvere questo problema. Consente l'allocazione dinamica della memoria, ovvero può espandere il numero di caratteri nella stringa. Non crea un nuovo oggetto di memoria, piuttosto aumenta dinamicamente la dimensione della memoria per contenere nuovi caratteri.
Cosa imparerai:
Come inizializzare C # StringBuilder?
StringBuilder viene inizializzato in modo simile a qualsiasi altra classe. La classe StringBuilder è presente nello spazio dei nomi System. Il testo deve essere importato nella classe per l'istanza.
Esempio di inizializzazione:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
L'output del programma di cui sopra è:
Ciao
Metodi C # StringBuilder
La classe StringBuilder offre anche diversi metodi per lavorare sulla manipolazione delle stringhe.
# 1) Metodo Append
Come suggerito dal nome, aggiunge un set di caratteri o una stringa alla fine dell'attuale String Builder. È molto utile per migliorare le prestazioni quando è necessario eseguire più concatenazioni di stringhe sulla stessa stringa.
Esempio:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
L'output del programma di cui sopra sarà:
Ciao
Ciao mondo
Nel programma sopra, abbiamo prima avuto una stringa definita tramite stringBuilder. Quindi abbiamo usato Append () per concatenare un'altra stringa con quella precedente. Se eseguiamo la riga di codice prima di aggiungere, ha l'output come 'Hello' ma una volta che lo accodiamo e stampiamo il risultato stamperà 'Hello World' cioè la stringa precedente con la stringa aggiunta.
# 2) Metodo chiaro
Questo metodo rimuove tutti i caratteri dallo StringBuilder corrente. È molto utile negli scenari in cui è necessario ottenere una stringa vuota o in cui è necessario cancellare i dati da una variabile di stringa.
Esempio:
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(); } }
L'output del programma di cui sopra è:
Ciao
Ciao mondo
Quando eseguiamo un'operazione chiara su StringBuilder e quindi proviamo a stampare la stringa risultante. Otterremo un valore di stringa nera. Nel programma sopra, abbiamo aggiunto il valore in StringBuilder e abbiamo stampato il valore sulla console.
Quindi abbiamo eseguito un'operazione chiara che ha rimosso tutto il valore da StringBuilder dopodiché quando abbiamo provato a stampare, ha stampato un valore vuoto.
# 3) Rimuovi metodo
Remove è simile a Clear ma con una piccola differenza. Rimuove anche i caratteri dallo StringBuilder ma lo fa entro un dato intervallo a differenza di clear che rimuove tutti i caratteri presenti nello StringBuilder. Rimuovi viene utilizzato ogni volta che lo scenario richiede che il programma rimuova un determinato set di caratteri dalla stringa anziché l'intera stringa.
Esempio:
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(); } }
L'output del programma di cui sopra sarà:
Ciao
Ciao mondo
He World
Remove accetta due parametri, il primo indica l'indice iniziale, ovvero l'indice del carattere da cui si desidera iniziare la rimozione. Il secondo parametro accetta anche un numero intero che indica la lunghezza, ovvero la lunghezza del carattere da cui si desidera rimuovere.
Nel programma sopra, abbiamo fornito l'indice di partenza come 2 e la lunghezza come tre. Quindi, ha iniziato a rimuovere il carattere dall'indice 2, cioè He'l'lo e abbiamo dato la lunghezza come tre, quindi il programma ha rimosso tre caratteri da 'l', quindi 'l lo o' è stato rimosso.
# 4) Metodo di inserimento
Inserisce uno o più caratteri all'interno della stringa all'indice dato. Consente inoltre all'utente di specificare il numero di volte in cui la stringa o il carattere deve essere inserito in StringBuilder. Viene utilizzato nelle condizioni in cui i caratteri devono essere inseriti nella stringa data in una posizione specifica.
Esempio:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
L'output del programma di cui sopra sarà:
Ciao mondo
He_insert_llo World
Nel programma precedente, il metodo Insert viene utilizzato per inserire caratteri in un determinato indice. Il metodo di inserimento accetta due parametri. Il primo parametro è un numero intero che indica l'indice in cui devono essere inseriti i caratteri. Il secondo parametro accetta caratteri che l'utente desidera inserire all'indice dato.
# 5) Sostituisci metodo
Il metodo di sostituzione sostituisce tutte le occorrenze della stringa specificata in StringBuilder con la stringa o il carattere fornito dall'utente. Sostituisce caratteri specifici in un indice specifico. Può essere utilizzato in scenari in cui è necessario sostituire alcuni personaggi con un altro personaggio.
Esempio:
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(); } }
L'output del programma di cui sopra è:
Ciao mondo
Ciao mondo
Nel programma sopra, abbiamo utilizzato il metodo Sostituisci per sostituire 'Hello' con 'Hi'. Il metodo di sostituzione accetta due parametri, il primo è la stringa o i caratteri che si desidera sostituire e il secondo è la stringa o il carattere con cui si desidera sostituirlo.
# 6) Metodo uguale
Come suggerisce il nome, convalida se uno StringBuilder è uguale agli altri o meno. Accetta StringBuilder come parametro e restituisce un valore booleano basato sulla condizione di uguaglianza raggiunta. Questo metodo è molto utile se si desidera convalidare la condizione di uguaglianza per due StringBuilders.
Esempio:
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(); } }
L'output del programma di cui sopra sarà:
Falso
Vero
Nel programma precedente, il primo e il terzo oggetto StringBuilder sono uguali, ovvero hanno lo stesso valore. Quindi, quando abbiamo identificato il primo con il secondo, ha restituito un valore falso ma quando abbiamo equiparato il primo e il terzo a essere uguali, ha restituito vero.
Conclusione
La classe StringBuilder in C # viene utilizzata per migliorare le prestazioni quando vengono eseguite più operazioni su una stringa.
Essendo immutabile, ogni volta che una stringa viene modificata crea un altro oggetto stringa nella memoria. Lo StringBuilder mira a ridurlo.
Consente all'utente di eseguire modifiche sullo stesso oggetto allocando memoria dinamica. Ciò significa che può aumentare la dimensione della memoria se necessario per contenere più dati.
=> Leggi qui la guida per principianti di C #
Lettura consigliata
- Esercitazione sulle stringhe in C # - Metodi sulle stringhe con esempi di codice
- Che cos'è il test di confronto (impara con esempi)
- Esercitazione su funzioni / metodi C # con esempi di codice
- Tutorial sull'interfaccia Java e sulla classe astratta con esempi
- Thread Java con metodi e ciclo di vita
- Funzioni di data e ora in C ++ con esempi
- Ordinamento della shell in C ++ con esempi
- Lambda in C ++ con esempi