Accelerare l'aggiunta di testo in C # [duplicato]

0

Sto provando ad aggiungere del testo a una grande quantità di stringhe (a migliaia) e anche a fare altre manipolazioni di stringhe.

Tuttavia, ho circa 60 righe di if / else e l'aggiunta di stringhe e ci vogliono diversi minuti per passare attraverso così tante righe di testo.

Fa diversi controlli, ma la sua parte principale utilizza:

newstring += appendText.Text + ' ' + inputTextBox.Lines[i];

C'è un modo migliore per farlo che lo rende più veloce?

    
posta user192148 28.12.2015 - 13:18
fonte

1 risposta

1

Stai pensando correttamente, l'aggiunta di testo usando l'operatore plus non è ottimale. Utilizza StringBuilder per questo, soprattutto se i condizionali sono utilizzato:

(codice dal link sopra)

StringBuilder sb = new StringBuilder();

sb.Append("This is a sentence.");

for (int ctr = 0; ctr <= 10; ctr++) {
    sb.Append("This is an additional sentence.");             
}   

Chiama sb.ToString(); per mostrare la stringa completa.

Nota: ci sono almeno 6 modi per concatenare una stringa in c # (tutti gli esempi producono "a b"):

Di solito, se usi .net 4.6, vorrai usare l'interpolazione delle stringhe per quelle più corte e StringBuilder per più tempo. Prima di .net 4.6 insted di interpolazione, utilizzare string.Format() .

    
risposta data 28.12.2015 - 13:22
fonte

Leggi altre domande sui tag