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

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


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() ব্যবহার করুন।

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

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

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

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