वहाँ लाइनrichtextbox लाइनों को पढ़ने के दौरान क्यों foreach पाश के लिए की तुलना में तेजी है
1 से RichTextBox लाइन से डेटा पढ़ने के लिए दो तरीके) का उपयोग कर रहे हैं एक एक RichTextBox
String s=String.Empty;
for(int i=0;i<richtextbox.lines.length;i++)
{
s=richTextBox.Lines[i]
}
की तर्ज लूप करने के लिए पाश के लिए 2) एक foreach पाश का उपयोग richTextBox.Lines संग्रह
String s=String.Empty;
foreach(string str in txtText.Lines)
{
s=str;
}
वहाँ प्रदर्शन में एक बड़ा फर्क है जब हम foreach पाश का उपयोग richtextbox के लिए सरणी संग्रह की गणना करने में है की गणना करने में।
मैंने 15000 लाइनों के साथ प्रयास किया। लूप को 15000 लाइनों तक लूप करने के लिए 8 मिनट लग गए। इस दौरान फोरैच ने इसे गणना करने के लिए एक सेकंड का अंश लिया।
यह व्यवहार क्यों है?
यदि यह समस्या है तो यह दो बार पहुंच रहा है, तो इसे केवल दो बार तक नहीं लेना चाहिए। लेकिन उसका अंतर एक मिनट के एक अंश बनाम 8 मिनट है। – barlop
@barlop: नहीं, यह एक या दो बार के बीच का अंतर नहीं है, यह एक बार और एक बार प्रति पंक्ति के बीच का अंतर है। –