C#-এ UInt64.CompareTo() মেথডটি বর্তমান UInt64 ইনস্ট্যান্সকে অন্য একটি অবজেক্ট বা ulong মানের সাথে তুলনা করে এবং তাদের আপেক্ষিক ক্রম (কম, সমান, বেশি) নির্দেশ করে।
সিনট্যাক্স (Syntax)
public int CompareTo(object value);
public int CompareTo(ulong value);
রিটার্ন ভ্যালু (Return Value)
| মান | অর্থ |
|---|---|
| < 0 | বর্তমান ইনস্ট্যান্স value-এর চেয়ে ছোট |
| 0 | দুটি মান সমান |
| > 0 | বর্তমান ইনস্ট্যান্স value-এর চেয়ে বড় |
উদাহরণ ১: ulong-উলং তুলনা (ছোট বড়)
using System;
public class Demo
{
public static void Main()
{
ulong val1 = 257876;
ulong val2 = 5657655;
int res = val1.CompareTo(val2);
Console.WriteLine("Return value (comparison) = " + res);
if (res > 0)
Console.WriteLine("val1 > val2");
else if (res < 0)
Console.WriteLine("val1 < val2");
else
Console.WriteLine("val1 = val2");
}
}
আউটপুট
Return value (comparison) = -1 val1 < val2
উদাহরণ ২: object প্যারামিটার দিয়ে তুলনা
using System;
public class Demo
{
public static void Main()
{
ulong val1 = 258768768;
object val2 = (ulong)1765765; // বক্সড ulong
int res = val1.CompareTo(val2);
Console.WriteLine("Return value (comparison) = " + res);
if (res > 0)
Console.WriteLine("val1 > val2");
else if (res < 0)
Console.WriteLine("val1 < val2");
else
Console.WriteLine("val1 = val2");
}
}
আউটপুট
Return value (comparison) = 1 val1 > val2
গুরুত্বপূর্ণ নোটস
CompareTo(ulong)ওভারলোড দ্রুত কাজ করে (বক্সিং নেই)CompareTo(object)নাল (null) পাস করলে ১ ফেরত দেয় (null সব ভ্যালু থেকে ছোট মনে হয়)- যদি
objectপ্যারামিটার ulong না হয়, তবেArgumentExceptionনিক্ষিপ্ত হবে - এই মেথড
IComparableএবংIComparable<ulong>ইন্টারফেস ইমপ্লিমেন্ট করে
null হ্যান্ডলিং উদাহরণ
using System;
public class Demo
{
public static void Main()
{
ulong val = 100;
object nullObj = null;
// null-এর সাথে তুলনা: ১ ফেরত দেবে (val > null)
int result = val.CompareTo(nullObj);
Console.WriteLine($"CompareTo(null) = {result}"); // 1
}
}
সার্টিং-এ প্রয়োগ
using System;
using System.Collections.Generic;
public class SortDemo
{
public static void Main()
{
List numbers = new List
{
999999999999999999,
1,
500000000000000000,
UInt64.MaxValue,
UInt64.MinValue
};
numbers.Sort(); // আंतरিকভাবে CompareTo ব্যবহার করে
Console.WriteLine("Sorted ascending:");
foreach (var n in numbers)
Console.WriteLine(n);
}
}
আউটপুট
Sorted ascending: 0 1 500000000000000000 999999999999999999 18446744073709551615
টিপস: সার্টিং বা বাইনারি সার্চে CompareTo সরাসরি ব্যবহার না করে List.Sort() বা Array.Sort() ব্যবহার করুন।