Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Queue.Equals() मेथड - दो क्यू ऑब्जेक्ट्स की तुलना करें

परिचय

C# में Queue.Equals() मेथड जांचता है कि क्या एक क्यू ऑब्जेक्ट दूसरे क्यू ऑब्जेक्ट के बराबर है। यह Object.Equals() को ओवरराइड करता है और रेफरेंस समानता (reference equality) की जांच करता है - यानी, क्या दोनों रेफरेंस समान इंस्टेंस को इंगित करते हैं।

सिंटैक्स

public virtual bool Equals(object obj);

obj तुलना के लिए ऑब्जेक्ट है।

उदाहरण 1: स्वयं से तुलना

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue queue = new Queue();
        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.WriteLine(queue.Equals(queue)); // True - समान रेफरेंस

        Console.Write("तत्वों की संख्या = ");
        Console.WriteLine(queue.Count);

        queue.Clear();
        Console.Write("तत्वों की संख्या (अपडेटेड) = ");
        Console.WriteLine(queue.Count);
    }
}

आउटपुट

True
तत्वों की संख्या = 8
तत्वों की संख्या (अपडेटेड) = 0

उदाहरण 2: दो अलग क्यूज की तुलना

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Queue queue = new Queue();
        queue.Enqueue(100);
        queue.Enqueue(200);
        queue.Enqueue(300);
        queue.Enqueue(400);

        Queue queue2 = new Queue();
        queue2.Enqueue(100);
        queue2.Enqueue(150);
        queue2.Enqueue(300);
        queue2.Enqueue(400);

        Console.WriteLine(queue.Equals(queue2)); // False - अलग इंस्टेंस
    }
}

आउटपुट

False

महत्वपूर्ण नोट्स

  • Queue.Equals() सामग्री समानता (content equality) नहीं जांचता - केवल रेफरेंस समानता।
  • समान तत्वों वाले दो अलग क्यूज false वापस करेंगे।
  • सामग्री तुलना के लिए मैन्युअल पुनरावृति या LINQ SequenceEqual() का उपयोग करें।
  • यही व्यवहार अधिकांश संग्रह क्लासेस के लिए लागू होता है जब तक कि ओवरराइड न किया गया हो।
  • Object.ReferenceEquals() समान कार्य करता है।
  1. - C# में Boolean.Equals(Object) मेथड

    C# में Boolean.Equals(Object) मेथड एक मान लौटाता है जो दर्शाता है कि क्या यह इंस्टेंस किसी निर्दिष्ट ऑब्जेक्ट के बराबर है।सिंटैक्सनिम्नलिखित सिंटैक्स है:public override bool Equals (object ob);यहाँ, ob इस इंस्टेंस से तुलना करने के लिए एक ऑब्जेक्ट है।उदाहरणआइए अब Boolean.Equals(Object) मेथड को लागू क

  1. - C# में DateTime.Equals() मेथड - दो DateTime ऑब्जेक्ट की तुलना

    C# में DateTime.Equals() मेथड का उपयोग यह जांचने के लिए किया जाता है कि क्या दो DateTime ऑब्जेक्ट या इंस्टेंस समान हैं या नहीं। यदि दोनों समान हैं तो TRUE लौटाता है, अन्यथा FALSE। सिंटैक्स स्टैटिक मेथड (दो DateTime तुलना के लिए): public static bool Equals (DateTime date1, DateTime date2); इंस्टेंस

  1. - C# में क्यू इंटरफेस

    Queue फर्स्ट-इन, फर्स्ट-आउट (FIFO) ऑब्जेक्ट्स का संग्रह दर्शाता है। इसका उपयोग तब किया जाता है जब आपको आइटम्स तक फर्स्ट-इन, फर्स्ट-आउट एक्सेस की आवश्यकता होती है। मुख्य ऑपरेशन्स Enqueue: आइटम जोड़ना (पीछे से) Dequeue: आइटम हटाना (सामने से) Peek: बिना हटाए सामने का आइटम देखना उदाहरण using System; u