কম্পিউটার টিউটোরিয়াল

C#-এ foreach ছাড়া লিস্ট থেকে লিস্টে আইটেম কপি করা

List<T> স্ট্রংলি-টাইপড অবজেক্টের কালেকশন যা ইনডেক্স দিয়ে অ্যাক্সেসযোগ্য এবং সোর্টিং, সার্চিং, মডিফাই করার মেথড থাকে। এটি ArrayList-এর জেনেরিক ভার্সন (System.Collections.Generic)।

  • IList<T> ইমপ্লিমেন্ট করে।
  • কম্পাইল-টাইম টাইপ চেকিং, বক্সিং/আনবক্সিং নেই (জেনেরিক হলে)।
  • Add(), AddRange(), কালেকশন ইনিশিয়ালাইজার দিয়ে এলিমেন্ট যোগ করা যায়।
  • ইনডেক্স দিয়ে অ্যাক্সেস (০-ভিত্তিক)। LINQ, for/foreach দিয়ে ইটারেট করা যায়।
  • ArrayList- চেয়ে ফাস্টার এবং কম এরর-প্রোন।

মেথড ১: কনস্ট্রাক্টর দিয়ে কপি

class Program
{
    public static void Main()
    {
        List<int> originalList = new List<int>() { 1, 2, 3, 4, 5, 7, 8, 9 };
        List<Int32> copy = new List<Int32>(originalList); // কপি কনস্ট্রাক্টর
        foreach (var item in copy) System.Console.WriteLine(item);
        Console.ReadLine();
    }
}

আউটপুট

1 2 3 4 5 7 8 9

মেথড ২: ToList() এক্সটেনশন মেথড (LINQ)

class Program
{
    public static void Main()
    {
        List<int> originalList = new List<int>() { 1, 2, 3, 4, 5, 7, 8, 9 };
        List<Int32> copy = originalList.ToList(); // শ্যালো কপি
        foreach (var item in copy) System.Console.WriteLine(item);
        Console.ReadLine();
    }
}

মেথড ৩: GetRange (পার্শিয়াল কপি)

class Program
{
    public static void Main()
    {
        List<int> originalList = new List<int>() { 1, 2, 3, 4, 5, 7, 8, 9 };
        List<Int32> copy = originalList.GetRange(0, 3); // ইনডেক্স ০ থেকে ৩টি
        foreach (var item in copy) System.Console.WriteLine(item);
        Console.ReadLine();
    }
}

আউটপুট

1 2 3

নোট: সব মেথড শ্যালো কপি (shallow copy) করে—রেফারেন্স টাইপের জন্য একই অবজেক্ট রেফারেন্স কপি হয়। ডিপ কপির জন্য সিরিয়ালাইজেশন বা ম্যানুয়াল ক্লোনিং লাগবে।

  1. উইন্ডোজে একটি ফোল্ডারের ফাইল তালিকা কপি করার পদ্ধতি

  2. জাভাস্ক্রিপ্ট দিয়ে লিস্ট আইটেম বন্ধ (Closeable) করা

  3. Tkinter-এ উইন্ডো দেখানো ছাড়া ক্লিপবোর্ড থেকে কপি করা

  4. এক্সেল: ড্রপ-ডাউন লিস্ট থেকে ব্যবহৃত আইটেমগুলো সরান – ২টি প্রমাণিত পদ্ধতি