C#-এ Queue.Peek() মেথডটি Queue-এর শুরুতে (beginning) থাকা অবজেক্টটি রিটার্ন করে কিন্তু এটি Queue থেকে সরিয়ে দেয় না। Queue FIFO (First In, First Out) নীতিতে কাজ করে।
সিনট্যাক্স (Syntax)
public virtual object Peek ();
উদাহরণ ১: নন-জেনেরিক Queue-এ Peek() ব্যবহার
using System;
using System.Collections;
public class Demo {
public static void Main() {
Queue queue = new Queue();
queue.Enqueue("AB");
queue.Enqueue("BC");
queue.Enqueue("CD");
queue.Enqueue("DE");
queue.Enqueue("EF");
queue.Enqueue("FG");
queue.Enqueue("GH");
queue.Enqueue("HI");
Console.WriteLine("Queue...");
IEnumerator demoEnum = queue.GetEnumerator();
while (demoEnum.MoveNext()) {
Console.WriteLine(demoEnum.Current);
}
Console.WriteLine("Queue element at the beginning = " + queue.Peek());
Console.WriteLine("Is Queue synchronized? = " + queue.IsSynchronized);
Queue queue2 = Queue.Synchronized(queue);
Console.WriteLine("Is Queue synchronized now? = " + queue2.IsSynchronized);
}
}
আউটপুট
Queue... AB BC CD DE EF FG GH HI Queue element at the beginning = AB Is Queue synchronized? = False Is Queue synchronized now? = True
উদাহরণ ২: জেনেরিক Queue<string>-এ Peek() ব্যবহার
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Queue<string> queue = new Queue<string>();
queue.Enqueue("Gary");
queue.Enqueue("Jack");
queue.Enqueue("Ryan");
queue.Enqueue("Kevin");
queue.Enqueue("Mark");
queue.Enqueue("Jack");
queue.Enqueue("Ryan");
queue.Enqueue("Kevin");
Console.Write("Count of elements = ");
Console.WriteLine(queue.Count);
Console.WriteLine("Queue element at the beginning = " + queue.Peek());
Console.WriteLine("Does the queue has element Jack? = " + queue.Contains("Jack"));
queue.Clear();
Console.Write("Count of elements (updated) = ");
Console.WriteLine(queue.Count);
}
}
আউটপুট
Count of elements = 8 Queue element at the beginning = Gary Does the queue has element Jack? = True Count of elements (updated) = 0
মূল পয়েন্টস
Peek()মেথড Queue-এর ফ্রন্ট (front) এলিমেন্টটি শুধু দেখে, সরিয়ে দেয় না।- যদি Queue খালি থাকে,
Peek()কল করলেInvalidOperationExceptionথ্রো করে। Dequeue()মেথড ফ্রন্ট এলিমেন্টটি রিটার্ন করে এবং সেটিকে Queue থেকে সরিয়ে দেয়।- জেনেরিক
Queue<T>ব্যবহার টাইপ সেফটি (type safety) নিশ্চিত করে।