C# Language
अचल स्थिति
खोज…
सिस्टम। स्ट्रिंग वर्ग
C # (और .NET में) एक स्ट्रिंग को क्लास System.String द्वारा दर्शाया गया है। इस वर्ग के लिए string
कीवर्ड एक उपनाम है।
System.String वर्ग अपरिवर्तनीय है, अर्थात एक बार निर्मित होने के बाद इसकी स्थिति को परिवर्तित नहीं किया जा सकता है।
इसलिए आप जो भी ऑपरेशन करते हैं जैसे सबस्ट्रिंग, रिमूव, रिप्लेस, कॉन्टेक्स्टनेशन +
कंस्ट्रक्टर +
आदि का उपयोग करके एक नया स्ट्रींग बनाएंगे और उसे वापस लौटाएंगे।
प्रदर्शन के लिए निम्नलिखित कार्यक्रम देखें -
string str = "mystring";
string newString = str.Substring(3);
Console.WriteLine(newString);
Console.WriteLine(str);
यह क्रमशः string
और mystring
प्रिंट करेगा।
तार और अपरिवर्तनशीलता
अपरिवर्तनीय प्रकार वे प्रकार होते हैं जो जब परिवर्तित होते हैं, तो स्मृति में मौजूदा वस्तु को बदलने के बजाय, स्मृति में ऑब्जेक्ट का एक नया संस्करण बनाते हैं। इसका सबसे सरल उदाहरण अंतर्निहित string
प्रकार है।
निम्नलिखित कोड लेते हुए, जो "हैलो" शब्द पर "दुनिया" जोड़ता है
string myString = "hello";
myString += " world";
इस मामले में स्मृति में क्या हो रहा है कि जब आप दूसरी पंक्ति में string
को जोड़ते हैं तो एक नई वस्तु बनाई जाती है। यदि आप एक बड़े लूप के हिस्से के रूप में ऐसा करते हैं, तो इसके लिए आपके आवेदन में प्रदर्शन के मुद्दों को पैदा करने की क्षमता है।
एक के लिए अस्थायी बराबर string
एक है StringBuilder
निम्नलिखित कोड ले रहा है
StringBuilder myStringBuilder = new StringBuilder("hello");
myStringBuilder.append(" world");
जब आप इसे चलाते हैं, तो आप StringBuilder
ऑब्जेक्ट को स्मृति में संशोधित कर रहे हैं।