C#-এ Collection<T> ক্লাসের Remove(T item) মেথড ব্যবহার করে নির্দিষ্ট অবজেক্টের প্রথম ঘটনা মুছে ফেলা যায়। এটি লিস্টে সিকোয়েনশিয়ালি সার্চ করে প্রথম ম্যাচ করা আইটেমটি রিমুভ করে এবং বাকি উপাদানগুলো শিফট করে। সফল হলে true রিটার্ন করে।
উদাহরণ ১: "Nathan" এর প্রথম ঘটনা মুছে ফেলা
using System;
using System.Collections.ObjectModel;
public class Demo {
public static void Main() {
Collection<string> col = new Collection<string>();
col.Add("Andy");
col.Add("Kevin");
col.Add("John");
col.Add("Nathan");
col.Add("Nathan");
col.Add("Katie");
col.Add("Barry");
col.Add("Nathan");
col.Add("Mark");
Console.WriteLine("উপাদানের সংখ্যা = " + col.Count);
Console.WriteLine("কলেকশন traverser করা হচ্ছে...");
foreach (string item in col) {
Console.WriteLine(item);
}
// "Nathan" এর প্রথম ঘটনা মুছে ফেলা
col.Remove("Nathan");
Console.WriteLine("আপডেটেড উপাদানের সংখ্যা = " + col.Count);
Console.WriteLine("আপডেটেড কলেকশন traverser করা হচ্ছে...");
foreach (string item in col) {
Console.WriteLine(item);
}
}
}
আউটপুট
উপাদানের সংখ্যা = 9 কলেকশন traverser করা হচ্ছে... Andy Kevin John Nathan Nathan Katie Barry Nathan Mark আপডেটেড উপাদানের সংখ্যা = 8 আপডেটেড কলেকশন traverser করা হচ্ছে... Andy Kevin John Nathan Katie Barry Nathan Mark
উদাহরণ ২: "Two" এর প্রথম ঘটনা মুছে ফেলা
using System;
using System.Collections.ObjectModel;
public class Demo {
public static void Main() {
Collection<string> col = new Collection<string>();
col.Add("One");
col.Add("Two");
col.Add("Two");
col.Add("Four");
col.Add("Five");
col.Add("Two");
col.Add("Six");
col.Add("Seven");
Console.WriteLine("উপাদানের সংখ্যা = " + col.Count);
Console.WriteLine("কলেকশন traverser করা হচ্ছে...");
foreach (string item in col) {
Console.WriteLine(item);
}
col.Remove("Two");
Console.WriteLine("আপডেটেড উপাদানের সংখ্যা = " + col.Count);
Console.WriteLine("আপডেটেড কলেকশন traverser করা হচ্ছে...");
foreach (string item in col) {
Console.WriteLine(item);
}
}
}
আউটপুট
উপাদানের সংখ্যা = 8 কলেকশন traverser করা হচ্ছে... One Two Two Four Five Two Six Seven আপডেটেড উপাদানের সংখ্যা = 7 আপডেটেড কলেকশন traverser করা হচ্ছে... One Two Four Five Two Six Seven
ব্যাখ্যা: Collection<T> একটি জেনেরিক কালেকশন বেস ক্লাস যা IList<T> ইমপ্লিমেন্ট করে। Remove(T) মেথড O(n) সময় নেয় কারণ এটি লিনিয়ার সার্চ করে। এটি List<T>-এর মতো র্যান্ডম অ্যাক্সেস দেয় না, কিন্তু কাস্টম কালেকশন বানানোর জন্য ভালো বেস ক্লাস। বড় ডেটা সেটের জন্য HashSet<T> বা Dictionary<TKey, TValue> দ্রুত লুকআপ দেয়।