C# में == और === के बीच अंतर
सभी को नमस्ते! मैं C# में नया हूँ (पहले JavaScript में लिखता था) और मुझे comparison operators को समझने में कठिनाई हो रही है। JS में strict comparison === और loose comparison == होता है। C# में मैं केवल == देखता हूँ, लेकिन सुना है कि Equals() और ReferenceEquals() भी हैं। हालांकि, मुझे === के बारे में जानकारी नहीं मिल रही — क्या यह बिल्कुल मौजूद नहीं है? या यह कोई syntax है जो मैंने छोड़ दिया?
मैंने निम्नलिखित कोड आज़माया:
int a = 5;
int b = 5;
object objA = a;
object objB = b;
Console.WriteLine(a == b); // True
Console.WriteLine(objA == objB); // False (reference comparison?)
Console.WriteLine(objA.Equals(objB)); // True (value comparison?)
मुझे उम्मीद थी कि objA == objB True देगा, लेकिन मुझे False मिला। value types और reference types के लिए == में क्या अंतर है? क्या C# में JS के === जैसा कोई analogue है जो बिना boxing के strict comparison करता हो? या क्या हमेशा Equals() का उपयोग करना चाहिए?