StringBuilder.Capacity প্রপার্টি বর্তমানে অ্যালোকেট করা বাফারের আকার (অক্ষর সংখ্যা) রিটার্ন করে। ডিফল্ট ক্ষমতা ১৬। ক্ষমতা Length-এর চেয়ে বড় হতে পারে। আপনি কনস্ট্রাক্টরে বা Capacity প্রপার্টি সেট করে ক্ষমতা বাড়াতে/কমাতে পারেন। Capacity কমালে Length-ও কমে যেতে পারে (ট্রানকেট)।
উদাহরণ ১: বিভিন্ন কনস্ট্রাক্টরের মাধ্যমে ক্ষমতা
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
StringBuilder strBuilder1 = new StringBuilder("Tim");
StringBuilder strBuilder2 = new StringBuilder("Tom");
StringBuilder strBuilder3 = new StringBuilder();
Console.WriteLine("StringBuilder1-এর ক্ষমতা = " + strBuilder1.Capacity);
Console.WriteLine("StringBuilder2-এর ক্ষমতা = " + strBuilder2.Capacity);
Console.WriteLine("StringBuilder3-এর ক্ষমতা = " + strBuilder3.Capacity);
strBuilder2 = strBuilder3;
Console.WriteLine("StringBuilder3, StringBuilder2-এর সমান কি? = " + strBuilder3.Equals(strBuilder2));
}
}
আউটপুট
StringBuilder1-এর ক্ষমতা = 16 StringBuilder2-এর ক্ষমতা = 16 StringBuilder3-এর ক্ষমতা = 16 StringBuilder3, StringBuilder2-এর সমান কি? = True
উদাহরণ ২: কাস্টম ক্ষমতা এবং ডিফল্ট তুলনা
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
StringBuilder strBuilder1 = new StringBuilder("Amy");
StringBuilder strBuilder2 = new StringBuilder("Katie");
StringBuilder strBuilder3 = new StringBuilder();
StringBuilder strBuilder4 = new StringBuilder(5);
strBuilder2 = strBuilder3;
Console.WriteLine("StringBuilder3, StringBuilder2-এর সমান কি? = " + strBuilder3.Equals(strBuilder2));
Console.WriteLine("StringBuilder1 ক্ষমতা = " + strBuilder1.Capacity);
Console.WriteLine("StringBuilder2 ক্ষমতা = " + strBuilder2.Capacity);
Console.WriteLine("StringBuilder3 ক্ষমতা = " + strBuilder3.Capacity);
Console.WriteLine("StringBuilder4 ক্ষমতা = " + strBuilder4.Capacity);
}
}
আউটপুট
StringBuilder3, StringBuilder2-এর সমান কি? = True StringBuilder1 ক্ষমতা = 16 StringBuilder2 ক্ষমতা = 16 StringBuilder3 ক্ষমতা = 16 StringBuilder4 ক্ষমতা = 5
দ্রষ্টব্য: স্ট্রিং বিল্ড করার সময় অনুমানিত দৈর্ঘ্য জানলে কনস্ট্রাক্টরে Capacity দিলে পারফরম্যান্স ভালো হয়। Equals() রেফারেন্স সমতা চেক করে (কন্টেন্ট নয়)।