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

C#-এ UInt64.Equals() মেথড: ulong মান তুলনা করা


C#-এ UInt64.Equals() মেথডটি বর্তমান UInt64 (ulong) ইনস্ট্যান্স নির্দিষ্ট অবজেক্ট বা ulong মানের সাথে সমান কিনা তা যাচাই করে। এটি দুটি ওভারলোডে উপলব্ধ।

সিনট্যাক্স (Syntax)

public override bool Equals(object obj);
public bool Equals(ulong obj);

প্যারামিটার:

  • obj (object) - তুলনা করার অবজেক্ট (বক্সড ulong)
  • obj (ulong) - তুলনা করার ৬৪-বিট অনসাইনড ইন্টিজার

উদাহরণ ১: দুটি ভিন্ন মান তুলনা

using System;

public class Demo
{
    public static void Main()
    {
        ulong val1 = 44565777;
        ulong val2 = 77878787;
        
        bool res = val1.Equals(val2);
        Console.WriteLine("Return value (comparison) = " + res);
        
        if (res)
            Console.WriteLine("val1 = val2");
        else
            Console.WriteLine("val1 != val2");
    }
}

আউটপুট

Return value (comparison) = False
val1 != val2

উদাহরণ ২: দুটি সমান মান তুলনা

using System;

public class Demo
{
    public static void Main()
    {
        ulong val1 = 78796878;
        ulong val2 = 78796878;
        
        bool res = val1.Equals(val2);
        Console.WriteLine("Return value (comparison) = " + res);
        
        if (res)
            Console.WriteLine("val1 = val2");
        else
            Console.WriteLine("val1 != val2");
    }
}

আউটপুট

Return value (comparison) = True
val1 = val2

দুটি ওভারলোডের পার্থক্য

ওভারলোডপ্যারামিটারপারফরম্যান্সব্যবহার
Equals(object)objectস্লো (বক্সিং প্রয়োজন)অজানা টাইপের অবজেক্ট তুলনায়
Equals(ulong)ulongফাস্ট (নো বক্সিং)ulong-উলং তুলনায় সুপারিশ করা

বক্সিং এড়াতে জেনেরিক Equals ব্যবহার

using System;

public class Demo
{
    public static void Main()
    {
        ulong val1 = 1000;
        object val2 = 1000UL; // বক্সড ulong
        
        // স্লো - বক্সিং এবং আনবক্সিং
        bool slow = val1.Equals(val2);
        
        // ফাস্ট - সরাসরি ulong তুলনা
        bool fast = val1.Equals((ulong)val2);
        
        Console.WriteLine($"Slow (object): {slow}");
        Console.WriteLine($"Fast (ulong): {fast}");
    }
}

অন্যান্য তুলনা পদ্ধতি

  • == অপারেটর: val1 == val2 (সামান্য ফলাফল)
  • != অপারেটর: val1 != val2
  • Object.Equals(val1, val2): স্ট্যাটিক মেথড, null-সেফ
  • val1.CompareTo(val2): ক্রমবিন্যাস জানতে (-1, 0, 1)

সর্বোত্তম অনুশীলন

// সুপারিশ করা প্যাটার্ন
ulong a = 100, b = 200;

// ১. সরাসরি তুলনা (সর্বোত্তম পারফরম্যান্স)
bool eq1 = a == b;

// ২. টাইপ-সেফ Equals (জেনেরিক)
bool eq2 = a.Equals(b);

// ৩. স্ট্যাটিক Equals (null-সেফ)
bool eq3 = Equals(a, b); // System.Object.Equals

নোট: UInt64 একটি ভেলিউ টাইপ (value type), তাই নাল (null) হতে পারে না। কিন্তু ulong? (nullable) হতে পারে।

  1. C#-এ UInt64.GetHashCode() মেথড: হ্যাশ কোড জেনারেট করা

  2. C#-এ UInt64.CompareTo() মেথড: ulong মান ক্রমবিন্যাস জানতে

  3. C#-এ UInt16.Equals মেথড উদাহরণসহ

  4. C#-এ UInt16.CompareTo() মেথড উদাহরণসহ