اینجا میتونی برنامه نویسی ویندوز رو به طور کاملا رایگان یاد بگیری
2 سال پیش / خواندن دقیقه

کلاس Queue در سی شارپ+ مثال

Queue نوع خاصی از کالکشن ها در سی شارپ است که عملیات ذخیره سازی مقادیر را به صورت FIFO انجام میدهد. و این بدان معناست که اولین مقداری که وارد Queue میشود، اولین مقداری است که از آن خارج میشود. در این فصل با کالکشن Queue آشنا میشویم.

کلاس Queue

زبان سی شارپ شامل نوعی از کالکشن به نام Queue است که عملیات ذخیره سازی را به صورت FIFO انجام میدهد و روش این کالکشن دقیقاً عکس کالکشن Stack است.

Queue می‌تواند شامل مقادیر null و  تکراری باشد. از متد ()Enqueue برای افزودن مقادیر به Queue و از متد ()Dequeue برای حذف و واکشی مقادیر از آن استفاده می شود.
کلاس Queue در سی شارپ+ مثال

افزودن عناصر به Queue

با استفاده از متد ()Enqueue می توان مقادیر را به Queue افزود :

Queue queue = new Queue();
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(1);
queue.Enqueue("Four");

دسترسی به مقادیر در جایگزین

از متد ()Dequeue می توان برای واکشی اولین مقداری که وارد صف شده است ، استفاده نمود. این متد اولین عنصر را از Queue حذف نموده و برای ما باز می گرداند. فراخوانی متد ()Dequeue بر روی یک Queue که شامل مقداری نباشد باعث می‌شود استثنای InvalidOperation رخ دهد :

Queue queue = new Queue();
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(1);
queue.Enqueue("Four");
Console.WriteLine("Number of elements in the Queue: {0}", queue.Count);
while (queue.Count > 0)
    Console.WriteLine(queue.Dequeue());
Console.WriteLine("Number of elements in the Queue: {0}", queue.Count);

خروجی نمونه مثال بالا به شکل زیر است :

Number of elements in the Queue: 4 3 2 1 Four Number of elements in the Queue: 0 

متد ()Peek

از متد ()Peek برای بازگرداندن اولین عنصر از Queue استفاده کنید. این متد مقادیر را از Queue حذف نمی کند :

Queue queue = new Queue();
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(1);
queue.Enqueue("Four");
Console.WriteLine("Number of elements in the Queue: {0}", queue.Count);
Console.WriteLine(queue.Peek());
Console.WriteLine(queue.Peek());
Console.WriteLine(queue.Peek());
Console.WriteLine("Number of elements in the Queue: {0}", queue.Count);

خروجی نمونه مثال بالا به شکل زیر است :

Number of elements in the Queue: 4 3 3
3 Number of elements in the Queue: 4

میتوان با تبدیل کالکشن Queue به یک آرایه بدون حذف مقادیر از آن ، عملیات واکشی را انجام داد :

Queue queue = new Queue();
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(1);
queue.Enqueue("Four");
Console.WriteLine("Number of elements in Queue: {0}", queue.Count);
foreach (var i in queue.ToArray())
    Console.WriteLine(i);
Console.WriteLine("Number of elements in Queue: {0}", queue.Count);

خروجی  مثال بالا به شکل زیر است :

Number of elements in Queue: 4 3 2 1 Four Number of elements in Queue: 4

متد ()Contains

از متد ()Contains برای بررسی وجود مقادیر در Queue استفاده می‌شود. این متد اگر مقدار مورد نظر در صف وجود داشته باشد مقدار true و در غیر این صورت مقدار false را باز می گرداند :

Queue queue = new Queue();
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(1);
queue.Enqueue("Four");
queue.Contains(2); // true
queue.Contains(100); //false

متد ()Clear

متد ()Clear همه عناصر Queue را حذف میکند :

Queue queue = new Queue();
queue.Enqueue(3);
queue.Enqueue(2);
queue.Enqueue(1);
queue.Enqueue("Four");
Console.WriteLine("Number of elements in the Queue: {0}", queue.Count);
queue.Clear();
Console.WriteLine("Number of elements in the Queue: {0}", queue.Count);

خروجی نمونه مثال بالا به شکل زیر است :

Number of elements in the Queue: 4 Number of elements in the Queue: 0

 



شاید از نوشته‌های زیر خوشتان بیاید
نظر خود را درباره این پست بنویسید ...

منوی سریع