Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में ऑपरेटर ओवरलोडिंग क्षमता

C# में कुछ ऑपरेटर्स को ओवरलोड किया जा सकता है, कुछ को नहीं।

ओवरलोड किए जा सकने वाले ऑपरेटर्स

श्रेणीऑपरेटर्सविवरण
यूनरी+ - ! ~ ++ --एक ऑपरेंड लेते हैं
बाइनरी अंकगणितीय+ - * / %दो ऑपरेंड लेते हैं
तुलनात्मक== != < > <= >=पेयर में ओवरलोड करना आवश्यक (== के साथ !=, < के साथ >)

ओवरलोड नहीं किए जा सकने वाले ऑपरेटर्स

श्रेणीऑपरेटर्सकारण
कंडीशनल लॉजिकल&& ||शॉर्ट-सर्किट मूल्यांकन के कारण सीधे ओवरलोड नहीं; & | ओवरलोड करके अप्रत्यक्ष रूप से
असाइनमेंट+= -= *= /= %=कंपाउंड असाइनमेंट स्वचालित रूप से बाइनरी ऑपरेटर से जुड़े होते हैं
अन्य= . ?. : ?? new is sizeof typeofभाषा सिंटैक्स का मूल भाग

ओवरलोडिंग उदाहरण


public struct Complex {
    public double Real, Imaginary;
    
    public Complex(double r, double i) { Real = r; Imaginary = i; }
    
    // बाइनरी + ओवरलोड
    public static Complex operator +(Complex a, Complex b) {
        return new Complex(a.Real + b.Real, a.Imaginary + b.Imaginary);
    }
    
    // यूनरी - ओवरलोड
    public static Complex operator -(Complex a) {
        return new Complex(-a.Real, -a.Imaginary);
    }
    
    // == और != पेयर में ओवरलोड
    public static bool operator ==(Complex a, Complex b) {
        return a.Real == b.Real && a.Imaginary == b.Imaginary;
    }
    public static bool operator !=(Complex a, Complex b) {
        return !(a == b);
    }
    
    // Equals/GetHashCode भी ओवरराइड करें
    public override bool Equals(object obj) => obj is Complex c && this == c;
    public override int GetHashCode() => HashCode.Combine(Real, Imaginary);
}

नियम:

  • == और != एक साथ ओवरलोड करने चाहिए
  • < और > एक साथ, <= और >= एक साथ
  • ऑपरेटर्स public static होने चाहिए
  • कम से कम एक पैरामीटर डिक्लेयरिंग टाइप का होना चाहिए
  1. 10.0.0.1 IP एड्रेस क्या है? 10.0.0.1 IP एड्रेस क्या है?

    10.0.0.1 IP एड्रेस एक निजी IP एड्रेस है जिसका उपयोग क्लाइंट डिवाइस पर किया जा सकता है या किसी नेटवर्क हार्डवेयर को उसके डिफ़ॉल्ट IP एड्रेस के रूप में असाइन किया जा सकता है। 10.0.0.1 क्या है? 10.0.0.1 आमतौर पर व्यावसायिक कंप्यूटर नेटवर्क में देखा जाता है, जबकि घरेलू नेटवर्क में राउटर सामान्यतः 192.1

  1. - C# में लॉजिकल ऑपरेटर्स क्या हैं?

    लॉजिकल ऑपरेटर्स का उपयोग बूलियन मानों के साथ किया जाता है। C# में निम्न तीन लॉजिकल ऑपरेटर्स उपलब्ध हैं।ऑपरेटरविवरण&&लॉजिकल AND ऑपरेटर कहलाता है। यदि दोनों ऑपरेंड्स नॉन-जीरो हैं तो कंडीशन सत्य हो जाती है।||लॉजिकल OR ऑपरेटर कहलाता है। यदि दोनों ऑपरेंड्स में से कोई भी नॉन-जीरो है तो कंडीशन सत्य

  1. - Python में >> और << ऑपरेटर क्या हैं?

    `` सिंबल Python में क्रमशः लेफ्ट और राइट शिफ्ट ऑपरेटर के रूप में परिभाषित हैं। ये बिटवाइज़ ऑपरेटर हैं। पहला ऑपरेंड न्यूमेरिक ऑब्जेक्ट का बिटवाइज़ प्रतिनिधित्व है और दूसरा उन पोजीशन की संख्या है जिनसे बिट फॉर्मेशन को बाएं या दाएं शिफ्ट करना वांछित है। `<<` ऑपरेटर बिट पैटर्न को बाएं शिफ्ट करता है। दा