Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में StringBuilder की क्षमता (Capacity) ढूंढना

StringBuilder.Capacity प्रॉपर्टी वर्तमान में आवंटित बफर आकार (वर्णों की संख्या) प्राप्त या सेट करती है। Length प्रॉपर्टी वास्तविक स्ट्रिंग लंबाई दर्शाती है। क्षमता हमेशा लंबाई से अधिक या बराबर होती है।

उदाहरण 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");
        StringBuilder sb3 = new StringBuilder();
        
        Console.WriteLine("StringBuilder1 क्षमता = " + sb1.Capacity);
        Console.WriteLine("StringBuilder2 क्षमता = " + sb2.Capacity);
        Console.WriteLine("StringBuilder3 क्षमता = " + sb3.Capacity);
        
        // रेफरेंस असाइनमेंट
        sb2 = sb3;
        Console.WriteLine("क्या sb3, sb2 के बराबर है? = " + sb3.Equals(sb2));
    }
}

आउटपुट

StringBuilder1 क्षमता = 16
StringBuilder2 क्षमता = 16
StringBuilder3 क्षमता = 16
क्या sb3, sb2 के बराबर है? = True

उदाहरण 2: कस्टम क्षमता और डिफ़ॉल्ट तुलना

using System;
using System.Text;

public class Demo {
    public static void Main(string[] args) {
        StringBuilder sb1 = new StringBuilder("Amy");
        StringBuilder sb2 = new StringBuilder("Katie");
        StringBuilder sb3 = new StringBuilder();
        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

क्षमता व्यवहार

  • डिफ़ॉल्ट क्षमता: 16 वर्ण
  • स्ट्रिंग कंस्ट्रक्टर: क्षमता = स्ट्रिंग लंबाई (न्यूनतम 16)
  • कस्टम क्षमता: निर्दिष्ट मान (यदि 16 से कम, तो 16 नहीं)
  • स्वतः विस्तार: जब लंबाई क्षमता से अधिक होती है, क्षमता दोगुनी हो जाती है।
  • अधिकतम क्षमता: Int32.MaxValue (2,147,483,647) - MaxCapacity प्रॉपर्टी से प्राप्त करें।

क्षमता बनाम लंबाई

StringBuilder sb = new StringBuilder("Hello");
Console.WriteLine("लंबाई = " + sb.Length);     // 5
Console.WriteLine("क्षमता = " + sb.Capacity);   // 16

sb.Append(" World"); // लंबाई 11, क्षमता अभी 16
sb.Append(" इस टेक्स्ट से क्षमता बढ़ जाएगी क्योंकि यह 16 से अधिक हो जाता है");
// क्षमता स्वतः 32 हो जाएगी

क्षमता सेट करना

StringBuilder sb = new StringBuilder(100); // प्रारंभिक क्षमता 100
sb.Capacity = 200; // मैन्युअली क्षमता बढ़ाएं (लंबाई से कम नहीं सेट कर सकते)

प्रदर्शन टिप

यदि अंतिम स्ट्रिंग लंबाई लगभग ज्ञात है, तो कंस्ट्रक्टर में क्षमता सेट करने से कई रीअलोकेशन और कॉपी ऑपरेशन बचते हैं:

// खराब: कई रीअलोकेशन
var sb = new StringBuilder();
for (int i = 0; i < 10000; i++) sb.Append(i);

// अच्छा: प्री-अलोकेट
var sb = new StringBuilder(10000 * 5); // अनुमानित औसत 5 वर्ण प्रति संख्या
for (int i = 0; i < 10000; i++) sb.Append(i);
  1. नेटवर्क प्रिंटर का IP एड्रेस कैसे ढूंढें नेटवर्क प्रिंटर का IP एड्रेस कैसे ढूंढें

    चाहे आपके होम नेटवर्क से सिर्फ एक प्रिंटर जुड़ा हो या ऑफिस से जुड़े उनमें से एक पूरा गुच्छा, आपके नेटवर्क पर प्रिंटर के IP एड्रेस जानने के कई अच्छे कारण हो सकते हैं। प्रिंटर का स्टेटिक IP एड्रेस होने से इसे नेटवर्क पर अन्य डिवाइस के साथ शेयर करना आसान हो जाता है, और कभी-कभी अगर कोई PC प्रिंटर का पता

  1. अपने कंप्यूटर की अधिकतम RAM क्षमता कैसे पता करें अपने कंप्यूटर की अधिकतम RAM क्षमता कैसे पता करें

    जब आप एक नया डेस्कटॉप या लैपटॉप खरीदते हैं, तो पहले सस्ते मॉडल के लिए जाना और बाद में अधिकतम प्रदर्शन के लिए RAM को अपग्रेड करना कहीं अधिक किफायती होता है। सवाल यह है कि आपका कंप्यूटर कितनी RAM ले सकता है? क्या यह पहले से ही अपने अधिकतम पर है, या अपग्रेड के लिए अभी भी जगह है? अपने कंप्यूटर में वर्त

  1. अपने विंडोज 11 पीसी का IP एड्रेस ढूंढें: चरण-दर-चरण गाइड अपने विंडोज 11 पीसी का IP एड्रेस ढूंढें: चरण-दर-चरण गाइड

    आपके इंटरनेट कनेक्शन में कुछ गड़बड़ है? जब आप विभिन्न समाधानों के साथ अपना हाथ आजमा रहे हैं, तो अपने कंप्यूटर का IP एड्रेस जानना काम आ सकता है। अनजान लोगों के लिए, एक IP एड्रेस, इंटरनेट प्रोटोकॉल एड्रेस का संक्षिप्त रूप, एक अद्वितीय संख्यात्मक एड्रेस है जो इंटरनेट पर आपके डिवाइस की पहचान करता है। आ