Có hai cách để đọc dữ liệu từ dòng RichTextBox bởi dòngtại sao foreach là nhanh hơn so với vòng lặp for trong khi đọc dòng richtextbox
1) sử dụng một vòng lặp for để lặp qua đường dây của một RichTextBox
String s=String.Empty;
for(int i=0;i<richtextbox.lines.length;i++)
{
s=richTextBox.Lines[i]
}
2) sử dụng vòng lặp foreach để liệt kê bộ sưu tập richTextBox.Lines
String s=String.Empty;
foreach(string str in txtText.Lines)
{
s=str;
}
Có sự khác biệt lớn về hiệu suất khi chúng tôi sử dụng vòng lặp foreach để liệt kê bộ sưu tập mảng cho richtextbox.
Tôi đã thử với 15000 dòng.cho vòng lặp mất 8 phút để chỉ vòng xuống 15000 dòng. Trong khi đó, foreach mất một phần nhỏ để liệt kê nó.
Tại sao lại có hành vi này?
nếu đó là truy cập hai lần đó là vấn đề thì không nên chỉ mất gấp đôi thời gian. Nhưng sự khác biệt của anh ta là 8 phút so với một phần nhỏ của một giây. – barlop
@barlop: Không, đó không phải là sự khác biệt giữa một hoặc hai lần, đó là sự khác biệt giữa một lần và một lần trên mỗi dòng. –