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 != val2Object.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) হতে পারে।