C# में UInt64.CompareTo() मेथड वर्तमान इंस्टेंस की तुलना किसी निर्दिष्ट ऑब्जेक्ट या UInt64 मान से करता है और उनके सापेक्ष मानों का संकेत लौटाता है।
सिंटैक्स
दो ओवरलोड उपलब्ध हैं:
public int CompareTo (object val); public int CompareTo (ulong val);
- पहला सिंटैक्स: val तुलना के लिए एक ऑब्जेक्ट है
- दूसरा सिंटैक्स: val तुलना के लिए एक अनसाइन्ड इंटीजर है
वापसी मान
- 0 - यदि वर्तमान इंस्टेंस val के बराबर है
- < 0 - यदि वर्तमान इंस्टेंस val से कम है
- > 0 - यदि वर्तमान इंस्टेंस val से अधिक है
उदाहरण 1: दो UInt64 मानों की तुलना
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
उदाहरण 2: ऑब्जेक्ट पैरामीटर के साथ तुलना
using System;
public class Demo
{
public static void Main()
{
ulong val1 = 258768768;
object val2 = (ulong)1765765;
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
नोट: मूल स्रोत में सिंटैक्स त्रुटि
मूल स्रोत में public int CompareTo (ulong val; में बंद कोष्ठक गायब है। सही सिंटैक्स: public int CompareTo (ulong val);
उदाहरण 3: तुलना परिणामों का व्यावहारिक उपयोग
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
List numbers = new List { 100, 50, 200, 25, 75 };
// CompareTo का उपयोग करके सॉर्ट करें
numbers.Sort((a, b) => a.CompareTo(b));
Console.WriteLine("आरोही क्रम:");
foreach (var n in numbers)
Console.WriteLine(n);
// अवरोही क्रम
numbers.Sort((a, b) => b.CompareTo(a));
Console.WriteLine("\nअवरोही क्रम:");
foreach (var n in numbers)
Console.WriteLine(n);
}
}
महत्वपूर्ण नियम
- IComparable<UInt64> और IComparable इंटरफेस लागू करता है
CompareTo(object)में यदि val null है, तो 1 लौटाता है (कोई भी मान null से बड़ा माना जाता है)CompareTo(object)में यदि val UInt64 नहीं है, तो ArgumentException फेंकता है- टाइप-सेफ
CompareTo(ulong)ओवरलोड का उपयोग करें - तेज और सुरक्षित
अपवाद
ulong val = 100;
val.CompareTo("100"); // ArgumentException: Object must be of type UInt64
val.CompareTo(100L); // ArgumentException: Object must be of type UInt64 (long ≠ ulong)