इंक्रीमेंट (++) पूर्णांक मान को 1 से बढ़ाता है, डिक्रीमेंट (--) 1 से घटाता है। दोनों के प्रीफिक्स और पोस्टफिक्स रूप होते हैं।
प्रीफिक्स (Prefix) - पहले बदलें, फिर उपयोग करें
int a = 10;
Console.WriteLine(++a); // 11 (पहले इंक्रीमेंट, फिर मान उपयोग)
Console.WriteLine(a); // 11
पोस्टफिक्स (Postfix) - पहले उपयोग करें, फिर बदलें
int a = 10;
Console.WriteLine(a++); // 10 (पहले मान उपयोग, फिर इंक्रीमेंट)
Console.WriteLine(a); // 11
पूर्ण उदाहरण
using System;
class Program {
static void Main() {
int a, b;
// प्रीफिक्स इंक्रीमेंट
a = 10;
Console.WriteLine("प्रीफिक्स ++a:");
Console.WriteLine(++a); // 11
Console.WriteLine(a++); // 11 (पोस्टफिक्स)
b = a;
Console.WriteLine(a); // 12
Console.WriteLine(b); // 12
// पोस्टफिक्स डिक्रीमेंट
a = 10;
Console.WriteLine("पोस्टफिक्स a--:");
Console.WriteLine(a--); // 10
Console.WriteLine(--a); // 8 (प्रीफिक्स डिक्रीमेंट)
}
}
आउटपुट
प्रीफिक्स ++a:
11
11
12
12
पोस्टफिक्स a--:
10
8
सावधानियां:
a = a++;- अनडिफाइंड व्यवहार नहीं लेकिन भ्रामक (a अपरिवर्तित रहता है)func(a++, a++)- आर्गुमेंट मूल्यांकन क्रम अनिर्दिष्ट- जटिल एक्सप्रेशन्स में प्रीफिक्स/पोस्टफिक्स मिक्स न करें
थ्रेड सेफ्टी:
++ और -- एटॉमिक नहीं हैं। मल्टीथ्रेडेड कोड के लिए Interlocked.Increment का उपयोग करें।