কম্পিউটার টিউটোরিয়াল

C#-এ LINQ-এ Take এবং Skip অপারেটর একসাথে ব্যবহার করার পদ্ধতি

আমরা Employee ক্লাসের দুটি ইনস্ট্যান্স তৈরি করছি, e এবং e1। e কে e1-এ অ্যাসাইন করা হয়েছে। দুটি অবজেক্ট একই রেফারেন্সকে পয়েন্ট করছে, তাই সকল Equals-এর জন্য true আউটপুট আশা অনুযায়ী मिलবে।

দ্বিতীয় কেসে আমরা দেখতে পাচ্ছি যে, প্রোপার্টি ভ্যালুগুলো একই থাকলেও Equals false রিটার্ন করে। মূলত, যখন আর্গুমেন্টগুলো আলাদা অবজেক্টকে রেফার করে। Equals ভ্যালু চেক করে না এবং সবসময় false রিটার্ন করে।

উদাহরণ ১

class Program
{ 
    static void Main(string[] args)
    { 
        Employee e = new Employee(); 
        e.Name = "Test"; 
        e.Age = 27; 
        Employee e2 = new Employee(); 
        e2 = e; 
        var valueEqual = e.Equals(e2); 
        Console.WriteLine(valueEqual); 
        
        // 2nd Case
        Employee e1 = new Employee(); 
        e1.Name = "Test"; 
        e1.Age = 27; 
        var valueEqual1 = e.Equals(e1); 
        Console.WriteLine(valueEqual1); 
        Console.ReadLine(); 
    } 
} 

class Employee
{ 
    public int Age { get; set; } 
    public string Name { get; set; } 
}

আউটপুট

True
False

উদাহরণ ২ (Equals ওভাররাইড করে)

class Program
{ 
    static void Main(string[] args)
    { 
        Employee e = new Employee(); 
        e.Name = "Test"; 
        e.Age = 27; 
        Employee e2 = new Employee(); 
        e2 = e; 
        var valueEqual = e.Equals(e2); 
        Console.WriteLine(valueEqual); 
        
        Employee e1 = new Employee(); 
        e1.Name = "Test"; 
        e1.Age = 27; 
        var valueEqual1 = e.Equals(e1); 
        Console.WriteLine(valueEqual1); 
        Console.ReadLine(); 
    } 
} 

class Employee
{ 
    public int Age { get; set; } 
    public string Name { get; set; } 
    
    public override bool Equals(object? obj)
    { 
        if (obj == null) return false; 
        if (this.GetType() != obj.GetType()) return false; 
        Employee p = (Employee)obj; 
        return (this.Age == p.Age) && (this.Name == p.Name); 
    } 
    
    public override int GetHashCode()
    { 
        return Age.GetHashCode() ^ Name.GetHashCode(); 
    } 
}

আউটপুট

True
True
  1. Chrome-র RAM ও CPU ব্যবহার কমানোর টিপস

  2. মাইক্রোসফট টিমসে টুগেদার মোড কী এবং কীভাবে ব্যবহার করবেন?

  3. উইন্ডোজ স্যান্ডবক্স এবং VMWare বা VirtualBox একসাথে ব্যবহার করুন

  4. উইন্ডোজ ১০ ও ইকো ডিভাইসে কোর্টানা-এলেক্সা ইন্টিগ্রেশন গাইড