کالکشن‌ها (Collections) در C#

Collections در C# ساختارهایی هستند برای نگهداری و مدیریت مجموعه‌ای از داده‌ها مانند لیست‌ها، دیکشنری‌ها و ست‌ها.

Collections چیست؟

کالکشن‌ها جایگزین آرایه‌های ساده هستند و امکانات بیشتری مثل افزودن، حذف و جستجو در داده‌ها را فراهم می‌کنند.

List (لیست)


List names = new List();

names.Add("Ali");
names.Add("Sara");
names.Add("Reza");

foreach (var name in names)
{
    Console.WriteLine(name);
}

ویژگی‌های List

  • اندازه پویا (Dynamic size)
  • امکان افزودن و حذف آسان
  • پشتیبانی از LINQ

Dictionary (دیکشنری)


Dictionary users = new Dictionary();

users.Add(1, "Ali");
users.Add(2, "Sara");

Console.WriteLine(users[1]);

ویژگی‌های Dictionary

  • ذخیره داده به صورت Key-Value
  • جستجوی سریع بر اساس کلید

HashSet


HashSet numbers = new HashSet();

numbers.Add(1);
numbers.Add(2);
numbers.Add(2); // تکراری اضافه نمی‌شود

foreach (var num in numbers)
{
    Console.WriteLine(num);
}

ویژگی‌های HashSet

  • عدم اجازه مقدار تکراری
  • عملکرد سریع در جستجو

Queue (صف)


Queue queue = new Queue();

queue.Enqueue("First");
queue.Enqueue("Second");

Console.WriteLine(queue.Dequeue());

ویژگی‌های Queue

  • FIFO (First In First Out)
  • اولین ورودی، اولین خروجی

Stack (پشته)


Stack stack = new Stack();

stack.Push("First");
stack.Push("Second");

Console.WriteLine(stack.Pop());

ویژگی‌های Stack

  • LIFO (Last In First Out)
  • آخرین ورودی، اولین خروجی

LINQ در Collections


List numbers = new List { 1, 2, 3, 4, 5 };

var result = numbers.Where(x => x > 2);

foreach (var num in result)
{
    Console.WriteLine(num);
}

جمع‌بندی

Collections ابزارهای اصلی برای مدیریت داده‌ها در C# هستند و در تمام پروژه‌های واقعی استفاده می‌شوند.