C#-এ StringCollection ক্লাসের IsReadOnly প্রোপার্টি ব্যবহার করে কালেকশনটি রিড-অনলি কিনা তা জানা যায়। StringCollection ডিফল্টভাবে রিড-অনলি নয় (IsReadOnly = false), অর্থাৎ এড, রিমুভ, ক্লিয়ার করা যায়। এছাড়া Contains(string) মেথড দিয়ে নির্দিষ্ট স্ট্রিং কালেকশনে আছে কিনা চেক করা যায়।
উদাহরণ ১: সংখ্যা স্ট্রিংয়ের সাথে চেক
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringCollection stringCol = new StringCollection();
String[] arr = new String[] { "100", "200", "300", "400", "500" };
Console.WriteLine("অ্যারে উপাদান...");
foreach (string res in arr) {
Console.WriteLine(res);
}
stringCol.AddRange(arr);
Console.WriteLine("StringCollection কি রিড-অনলি? = " + stringCol.IsReadOnly);
Console.WriteLine("নির্দিষ্ট স্ট্রিং '800' কালেকশনে আছে কি? = " + stringCol.Contains("800"));
}
}
আউটপুট
অ্যারে উপাদান... 100 200 300 400 500 StringCollection কি রিড-অনলি? = False নির্দিষ্ট স্ট্রিং '800' কালেকশনে আছে কি? = False
উদাহরণ ২: নামের স্ট্রিংয়ের সাথে চেক
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringCollection stringCol = new StringCollection();
String[] arr = new String[] { "John", "Tim", "Kevin", "Bradman", "Katie", "Tom", "Nathan" };
Console.WriteLine("স্ট্রিং অ্যারে উপাদান...");
foreach (string res in arr) {
Console.WriteLine(res);
}
stringCol.AddRange(arr);
Console.WriteLine("StringCollection কি রিড-অনলি? = " + stringCol.IsReadOnly);
Console.WriteLine("নির্দিষ্ট স্ট্রিং 'Tim' কালেকশনে আছে কি? = " + stringCol.Contains("Tim"));
}
}
আউটপুট
স্ট্রিং অ্যারে উপাদান... John Tim Kevin Bradman Katie Tom Nathan StringCollection কি রিড-অনলি? = False নির্দिष्ट স্ট্রিং 'Tim' কালেকশনে আছে কি? = True
ব্যাখ্যা: IsReadOnly প্রোপার্টি সবসময় false রিটার্ন করে কারণ StringCollection মডিফাইযোগ্য। Contains(string) মেথড কেস-সেনসিটিভ তুলনা করে। এটি লিনিয়ার সার্চ করে O(n) সময় নেয়। StringCollection লিগ্যাসি ক্লাস; নতুন প্রজেক্টে List<string> বা HashSet<string> (দ্রুত লুকআপের জন্য) ব্যবহার করা উচিত।