StringBuilder ক্লাস (System.Text নেমস্পেস) একটি মিউটেবল স্ট্রিং বাফার যা কার্যকরভাবে স্ট্রিং ম্যানিপুলেশন (যোগ, পরিবর্তন, মুছে ফেলা) করতে সাহায্য করে। সাধারণ স্ট্রিং (string) ইমিউটেবল, তাই বারবার পরিবর্তন করলে নিত্য নতুন অবজেক্ট তৈরি হয়। StringBuilder এই সমস্যা সমাধান করে।
উদাহরণ ১: দুটি StringBuilder তৈরি এবং সমতা যাচাই
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
StringBuilder strBuilder1 = new StringBuilder("Tim");
StringBuilder strBuilder2 = new StringBuilder("Tom");
Console.WriteLine("StringBuilder1, StringBuilder2-এর সমান কি? = " + strBuilder1.Equals(strBuilder2));
}
}
আউটপুট
StringBuilder1, StringBuilder2-এর সমান কি? = False
উদাহরণ ২: বিভিন্ন কনস্ট্রাক্টর এবং রেফারেন্স অ্যাসাইনমেন্ট
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
StringBuilder strBuilder1 = new StringBuilder("John");
StringBuilder strBuilder2 = new StringBuilder("John");
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
দ্রষ্টব্য: StringBuilder-এ Append(), AppendLine(), Insert(), Remove(), Replace(), Clear() ইত্যাদি মেথড রয়েছে। ToString() কল করলে ফাইনাল স্ট্রিং পাওয়া যায়। ডিফল্ট ক্ষমতা ১৬, যা অটোমেটিক্যালি ডাবল হয়ে যায় (১৬ → ৩২ → ৬৪ ...)।