.net - string builder vs string -


संभावित डुप्लिकेट:

स्ट्रिंग और स्ट्रिंग बिल्डर से अलग क्या है? हम स्ट्रिंग बिल्डर का उपयोग कैसे करते हैं?

मुख्य अंतर यह है कि एक स्ट्रिंगबिल्ल्डर अस्थिर है (जिसका अर्थ है कि यह जबकि एक स्ट्रिंग अपरिवर्तनीय है (जिसका अर्थ है कि एक बार इसे बनाया गया है, इसे संशोधित नहीं किया जा सकता है)।

उदाहरण के लिए यह अंतर महत्वपूर्ण है यदि आप बहुत सी तारों से बड़ी स्ट्रिंग बनाने का प्रयास कर रहे हैं। यदि आप स्ट्रिंगबइल्डर का उपयोग करते हैं, तो आप ओ (एन) के प्रदर्शन के जरिए एक नया ऑब्जेक्ट बनाने के बिना स्ट्रिंग जोड़ते हैं। यदि आप स्ट्रिंग्स का उपयोग करते हैं तो आप बहुत से मध्यवर्ती स्ट्रिंग्स बनाते हैं जो तुरंत त्याग दिए जाते हैं, लेकिन सभी अतिरिक्त प्रतिलिपि का मतलब है कि यह ओ (एन 2 ) ऑपरेशन हो जाता है।

उदाहरण कोड दिखा रहा है कई छोटे स्ट्रिंग्स से बड़ी स्ट्रिंग को संगृहीत करने के लिए प्रत्येक का उपयोग:

स्ट्रिंग

  स्ट्रिंग s = ""; के लिए (इंट आई = 0; आई & lt; 10000; ++ i) {s + = "foo"; }  

स्ट्रिंगबिल्डर

  स्ट्रिंगबइल्डर sb = नया स्ट्रिंगबिल्डर (); (इंट आई = 0; आई & lt; 10000; ++ i) के लिए {sb.Append ("foo"); } स्ट्रिंग s = sb.ToString ();  

Comments