Ci sono due modi per leggere i dati dalla linea RichTextBox per rigaperché foreach è più veloce di ciclo for durante la lettura linee RichTextBox
1) utilizzare un ciclo for per scorrere le linee di un RichTextBox
String s=String.Empty;
for(int i=0;i<richtextbox.lines.length;i++)
{
s=richTextBox.Lines[i]
}
2) utilizzare un ciclo foreach per enumerare richTextBox.Lines raccolta
String s=String.Empty;
foreach(string str in txtText.Lines)
{
s=str;
}
C'è una grande differenza in termini di prestazioni quando usiamo ciclo foreach per enumerare la raccolta array per RichTextBox.
Ho provato con 15000 linee.per il ciclo ci sono voluti 8 minuti per eseguire il looping a 15000 linee. Intanto foreach ha impiegato una frazione di secondo per enumerarlo.
Perché questo comportamento è presente?
se è l'accesso due volte che è il problema, allora non dovrebbe richiedere solo il doppio del tempo. Ma la sua differenza è di 8 minuti contro una frazione di secondo. – barlop
@barlop: No, non è la differenza tra una o due volte, è la differenza tra una volta e una volta per riga. –