C# में एक ही स्टेटमेंट में कॉमा (`,`) से अलग करके एक ही टाइप के एकाधिक लोकल वेरिएबल्स घोषित और आरंभ किए जा सकते हैं।
सिंटैक्स
type var1 = value1, var2 = value2, var3 = value3;
उदाहरण
using System;
class Demo {
static void Main() {
int a = 20, b = 70, c = 40, d = 90;
Console.WriteLine("{0} {1} {2} {3}", a, b, c, d);
}
}
आउटपुट
20 70 40 90
विविधताएं
// केवल घोषणा (कोई आरंभीकरण नहीं) int a, b, c; // मिश्रित आरंभीकरण int a = 10, b, c = 30; // अलग-अलग टाइप्स के लिए अलग स्टेटमेंट्स चाहिए int x = 5; string s = "hello"; double d = 3.14; // C# 7+ टपल डीकंस्ट्रक्शन (int a, int b, int c) = (1, 2, 3); var (x, y, z) = (10, 20, 30);
सर्वोत्तम अभ्यास
- पठनीयता: एक पंक्ति में बहुत सारे वेरिएबल न घोषित करें (2-3 तक ठीक)।
- संबंधित वेरिएबल्स: तार्किक रूप से संबंधित वेरिएबल्स के लिए ही उपयोग करें।
- आरंभीकरण: घोषणा के समय ही आरंभ करें जब संभव हो।
- अलग टाइप्स: अलग टाइप्स के लिए अलग स्टेटमेंट्स लिखें।
C# 7.0+ पैटर्न: डीकंस्ट्रक्शन
// टपल से
var (name, age, city) = GetPerson();
// ऑब्जेक्ट से (Deconstruct मेथड के साथ)
public class Point {
public int X, Y;
public void Deconstruct(out int x, out int y) => (x, y) = (X, Y);
}
var (x, y) = new Point { X = 10, Y = 20 };
कंपाइलर व्यवहार
कंपाइलर इसे अलग-अलग घोषणा स्टेटमेंट्स में बदल देता है - रनटाइम पर कोई अंतर नहीं होता।