कंपाउंड असाइनमेंट ऑपरेटर्स ऑपरेशन और असाइनमेंट को संक्षिप्त करते हैं: x += y ≡ x = x + y।
सभी ऑपरेटर्स
| ऑपरेटर | नाम | समतुल्य |
|---|---|---|
+= | एडिशन असाइनमेंट | x = x + y |
-= | सब्ट्रैक्शन असाइनमेंट | x = x - y |
*= | मल्टीप्लिकेशन असाइनमेंट | x = x * y |
/= | डिवीजन असाइनमेंट | x = x / y |
%= | मॉड्यूलो असाइनमेंट | x = x % y |
&= | बिटवाइज़ AND असाइनमेंट | x = x & y |
|= | बिटवाइज़ OR असाइनमेंट | x = x | y |
^= | बिटवाइज़ XOR असाइनमेंट | x = x ^ y |
<<= | लेफ्ट शिफ्ट असाइनमेंट | x = x << y |
>>= | राइट शिफ्ट असाइनमेंट | x = x >> y |
उदाहरण
using System;
namespace Program
{
class MyClass
{
public static void Main(string[] args)
{
int val = 7;
val += 3; Console.WriteLine("एडिशन: " + val); // 10
val -= 2; Console.WriteLine("सब्ट्रैक्शन: " + val); // 8
val *= 7; Console.WriteLine("मल्टीप्लिकेशन: " + val); // 56
val /= 7; Console.WriteLine("डिवीजन: " + val); // 8
val %= 5; Console.WriteLine("मॉड्यूलो: " + val); // 3
val &= 9; Console.WriteLine("बिटवाइज़ AND: " + val); // 1
val <<= 3; Console.WriteLine("लेफ्ट शिफ्ट: " + val); // 8
val >>= 5; Console.WriteLine("राइट शिफ्ट: " + val); // 0
}
}
}
आउटपुट
एडिशन: 10 सब्ट्रैक्शन: 8 मल्टीप्लिकेशन: 56 डिवीजन: 8 मॉड्यूलो: 3 बिटवाइज़ AND: 1 लेफ्ट शिफ्ट: 8 राइट शिफ्ट: 0
नोट
=>लैम्ब्डा ऑपरेटर है, कंपाउंड असाइनमेंट नहीं।- कंपाउंड ऑपरेटर्स लेफ्ट ऑपरेंड को **केवल एक बार** मूल्यांकन करते हैं (साइड इफेक्ट्स के लिए महत्वपूर्ण)।
- इवेंट्स के लिए:
event += Handler,event -= Handler।