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

C# में दो List ऑब्जेक्ट्स समान हैं या नहीं जांचें


C# में दो List<T> ऑब्जेक्ट्स समान हैं या नहीं यह जांचने के लिए, हम Equals() मेथड का उपयोग करते हैं। डिफ़ॉल्ट रूप से List<T> Equals() को ओवरराइड नहीं करता, इसलिए यह रेफरेंस समानता की जांच करता है (दोनों वेरिएबल्स एक ही ऑब्जेक्ट को संदर्भित करते हैं)। सामग्री-आधारित तुलना के लिए SequenceEqual() (LINQ) या मैन्युअल तुलना का उपयोग करें।

उदाहरण 1: अलग-अलग सामग्री वाली सूचियों की तुलना

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main(String[] args)
    {
        List<string> list1 = new List<string>();
        list1.Add("One");
        list1.Add("Two");
        list1.Add("Three");
        list1.Add("Four");
        list1.Add("Five");

        Console.WriteLine("List1 में तत्व...");
        foreach (string res in list1)
        {
            Console.WriteLine(res);
        }

        List<string> list2 = new List<string>();
        list2.Add("India");
        list2.Add("US");
        list2.Add("UK");
        list2.Add("Canada");
        list2.Add("Poland");
        list2.Add("Netherlands");

        Console.WriteLine("List2 में तत्व...");
        foreach (string res in list2)
        {
            Console.WriteLine(res);
        }

        Console.WriteLine("क्या List2, List1 के बराबर है? = " + list2.Equals(list1));
    }
}

आउटपुट

List1 में तत्व...
One
Two
Three
Four
Five

List2 में तत्व...
India
US
UK
Canada
Poland
Netherlands

क्या List2, List1 के बराबर है? = False

उदाहरण 2: रेफरेंस असाइनमेंट के साथ समानता

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main(String[] args)
    {
        List<string> list1 = new List<string>();
        list1.Add("One");
        list1.Add("Two");
        list1.Add("Three");
        list1.Add("Four");
        list1.Add("Five");

        Console.WriteLine("List1 में तत्व...");
        foreach (string res in list1)
        {
            Console.WriteLine(res);
        }

        List<string> list2 = new List<string>();
        list2.Add("India");
        list2.Add("US");
        list2.Add("UK");
        list2.Add("Canada");
        list2.Add("Poland");
        list2.Add("Netherlands");

        Console.WriteLine("List2 में तत्व...");
        foreach (string res in list2)
        {
            Console.WriteLine(res);
        }

        List<string> list3 = new List<string>();
        list3 = list2;  // रेफरेंस असाइनमेंट
        Console.WriteLine("क्या List3, List2 के बराबर है? = " + list3.Equals(list2));
    }
}

आउटपुट

List1 में तत्व...
One
Two
Three
Four
Five

List2 में तत्व...
India
US
UK
Canada
Poland
Netherlands

क्या List3, List2 के बराबर है? = True

मुख्य बिंदु:

  • List<T>.Equals() रेफरेंस समानता की जांच करता है (डिफ़ॉल्ट Object.Equals व्यवहार)
  • list3 = list2 दोनों को एक ही ऑब्जेक्ट की ओर इंगित करता है - इसलिए true
  • सामग्री समानता के लिए System.Linq का SequenceEqual() उपयोग करें:
using System.Linq;
// ...
bool areEqual = list1.SequenceEqual(list2);
  • या कस्टम तुलना लॉजिक लिखें
  • List<T> जेनेरिक, टाइप-सेफ, और ArrayList से बेहतर प्रदर्शन वाला है
  1. - पायथन पैंडास - जांचें कि डेटाफ्रेम ऑब्जेक्ट बराबर हैं या नहीं

    परिचय जांचने के लिए कि क्या डेटाफ्रेम ऑब्जेक्ट बराबर हैं, equals() मेथड का उपयोग करें। चरण-दर-चरण कार्यान्वयन 1. पहला डेटाफ्रेम बनाएं import pandas as pd dataFrame1 = pd.DataFrame({ Car: [BMW, Lexus, Audi, Mustang, Bentley, Jaguar], Reg_Price: [7000, 1500, 5000, 8000, 9000, 6000] }) 2. द

  1. - पायथन - जांचें कि सूची तत्वों के लिए तत्वों के इंडेक्स बराबर हैं या नहीं

    परिचय जब जांचना हो कि तत्वों का इंडेक्स सूची में तत्वों के बराबर है या नहीं, तो सरल पुनरावृत्ति और enumerate एट्रिब्यूट का उपयोग किया जाता है। उदाहरण my_list_1 = [12, 62, 19, 79, 58, 0, 99] my_list_2 = [12, 74, 19, 54, 58, 0, 11] print(The first list is :) print(my_list_1) print(The second list is

  1. - पायथन में जांचें कि दो टुपल्स की सूचियां समान हैं या नहीं

    जब यह जांचने की आवश्यकता होती है कि टुपल्स की दो सूचियां समान हैं या नहीं, तो == ऑपरेटर का उपयोग किया जाता है।== ऑपरेटर जांचता है कि दो इटरेबल्स समान हैं या नहीं।एक सूची का उपयोग विषम मानों को संग्रहीत करने के लिए किया जा सकता है (यानी किसी भी डेटा प्रकार का डेटा जैसे पूर्णांक, फ्लोटिंग पॉइंट, स्ट्र