StringBuilder क्लास म्यूटेबल स्ट्रिंग ऑपरेशन के लिए उपयोग होती है। आप कंस्ट्रक्टर में क्षमता (कैपेसिटी) निर्दिष्ट करके प्रारंभिक बफर आकार सेट कर सकते हैं, जिससे बार-बार रीअलोकेशन से बचा जा सकता है।
उदाहरण 1: विभिन्न कंस्ट्रक्टर्स के साथ क्षमता
using System;
using System.Text;
public class Demo {
public static void Main(string[] args) {
// स्ट्रिंग से इनिशियलाइज़ - क्षमता स्ट्रिंग लंबाई से अधिक होगी
StringBuilder sb1 = new StringBuilder("Tim");
StringBuilder sb2 = new StringBuilder("Tom");
// डिफ़ॉल्ट कंस्ट्रक्टर - क्षमता 16
StringBuilder sb3 = new StringBuilder();
// निर्दिष्ट क्षमता (5) के साथ
StringBuilder sb4 = new StringBuilder(5);
// रेफरेंस असाइनमेंट
sb2 = sb3;
Console.WriteLine("क्या sb3, sb2 के बराबर है? = " + sb3.Equals(sb2));
Console.WriteLine("sb1 क्षमता = " + sb1.Capacity);
Console.WriteLine("sb2 क्षमता = " + sb2.Capacity);
Console.WriteLine("sb3 क्षमता = " + sb3.Capacity);
Console.WriteLine("sb4 क्षमता = " + sb4.Capacity);
}
}
आउटपुट
क्या sb3, sb2 के बराबर है? = True
sb1 क्षमता = 16
sb2 क्षमता = 16
sb3 क्षमता = 16
sb4 क्षमता = 5
उदाहरण 2: डिफ़ॉल्ट बनाम कस्टम क्षमता
using System;
using System.Text;
public class Demo {
public static void Main(string[] args) {
StringBuilder sb1 = new StringBuilder();
Console.WriteLine("डिफ़ॉल्ट StringBuilder क्षमता = " + sb1.Capacity);
StringBuilder sb2 = new StringBuilder(20);
Console.WriteLine("कस्टम क्षमता (20) वाला StringBuilder = " + sb2.Capacity);
}
}
आउटपुट
डिफ़ॉल्ट StringBuilder क्षमता = 16
कस्टम क्षमता (20) वाला StringBuilder = 20
महत्वपूर्ण नोट्स
- डिफ़ॉल्ट क्षमता: 16 वर्ण
- अधिकतम क्षमता:
Int32.MaxValue(2,147,483,647) - जब सामग्री क्षमता से अधिक होती है, तो क्षमता स्वतः दोगुनी हो जाती है।
- पूर्व-अनुमानित लंबाई के लिए कस्टम क्षमता सेट करने से प्रदर्शन सुधरता है।
Equals()रेफरेंस समानता जांचता है, सामग्री समानता नहीं।