سه شنبه ۱۸ دي ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش سی شارپ - کلاس صف

این کلاس نمایانگر یک مجموعه از شیء است که اولین شیء وارد شده، اولین شیء خارج می‌شود. آن زمانی استفاده می‌شود که نیازمند ترتیب ورود اولیه و خروج اولیه از موارد هستید. هنگامی که یک مورد را به لیست اضافه می‌کنید، آن عمل به عنوان "enqueue" شناخته می‌شود و هنگامی که یک مورد را حذف می‌کنید، به آن عمل "dequeue" گفته می‌شود.

متدها و خصوصیت‌های کلاس صف (Queue)

جدول زیر فهرستی از خصوصیت‌های رایج کلاس صف (Queue) را نشان می‌دهد:

ردیف خصوصیت و توضیحات
1

Count

تعداد عناصر موجود در صف را برمی‌گرداند.

جدول زیر فهرستی از متدهای رایج کلاس صف (Queue) را نشان می‌دهد:

ردیف متد و توضیحات
1

public virtual void Clear();

تمام عناصر را از صف حذف می‌کند.

2

public virtual bool Contains(object obj);

تشخیص می‌دهد که آیا یک عنصر در صف وجود دارد یا خیر.

3

public virtual object Dequeue();

عنصر در ابتدای صف را حذف و برمی‌گرداند.

4

public virtual void Enqueue(object obj);

یک شیء را به انتهای صف اضافه می‌کند.

5

public virtual object[] ToArray();

صف را در یک آرایه جدید کپی می‌کند.

6

public virtual void TrimToSize();

ظرفیت را به تعداد واقعی عناصر در صف تنظیم می‌کند.

مثال

مثال زیر نحوه استفاده از صف را نشان می‌دهد:

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         Queue q = new Queue();
         
         q.Enqueue('A');
         q.Enqueue('M');
         q.Enqueue('G');
         q.Enqueue('W');
         
         Console.WriteLine("Current queue: ");
         foreach (char c in q) Console.Write(c + " ");
         
         Console.WriteLine();
         q.Enqueue('V');
         q.Enqueue('H');
         Console.WriteLine("Current queue: ");
         foreach (char c in q) Console.Write(c + " ");
         
         Console.WriteLine();
         Console.WriteLine("Removing some values ");
         char ch = (char)q.Dequeue();
         Console.WriteLine("The removed value: {0}", ch);
         ch = (char)q.Dequeue();
         Console.WriteLine("The removed value: {0}", ch);
         
         Console.ReadKey();
      }
   }
}

هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند -

Current queue: 
A M G W 
Current queue: 
A M G W V H 
Removing values
The removed value: A
The removed value: M