آموزش سی شارپ - کلاس صف
این کلاس نمایانگر یک مجموعه از شیء است که اولین شیء وارد شده، اولین شیء خارج میشود. آن زمانی استفاده میشود که نیازمند ترتیب ورود اولیه و خروج اولیه از موارد هستید. هنگامی که یک مورد را به لیست اضافه میکنید، آن عمل به عنوان "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