नई .Net कोर 3.0 / C # 8.0 (यदि आपका कार्य वातावरण आपको अपनी परियोजना को अपग्रेड करने की अनुमति देता है) एक शॉर्ट-हैंड स्विच स्टेटमेंट है जो कुछ हद तक एनुम-ईश लगता है। दिन के अंत में यह वही पुराना बोरिंग स्विच स्टेटमेंट है जिसका उपयोग हम वर्षों से कर रहे हैं।
यहां केवल वास्तविक अंतर यह है कि स्विच स्टेटमेंट को एक नया सूट मिला।
public static RGBColor FromRainbow(Rainbow colorBand) =>
colorBand switch
{
Rainbow.Red => new RGBColor(0xFF, 0x00, 0x00),
Rainbow.Orange => new RGBColor(0xFF, 0x7F, 0x00),
Rainbow.Yellow => new RGBColor(0xFF, 0xFF, 0x00),
Rainbow.Green => new RGBColor(0x00, 0xFF, 0x00),
Rainbow.Blue => new RGBColor(0x00, 0x00, 0xFF),
Rainbow.Indigo => new RGBColor(0x4B, 0x00, 0x82),
Rainbow.Violet => new RGBColor(0x94, 0x00, 0xD3),
_ => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),
};
आप देखेंगे कि जिस कोड को मैंने यहां से कॉपी किया था , वह वास्तव में एक एनम का उपयोग परम के रूप में कर रहा है।
यह बिल्कुल वैसा नहीं है जैसा आप चाहते हैं (और मुझ पर भरोसा करें, मुझे कुछ ऐसा ही चाहिए था जो ओपी लंबे समय से अनुरोध कर रहा है), लेकिन मुझे वास्तव में ऐसा महसूस हो रहा है कि यह एमएस की कुछ जैतून शाखा है। JMO।
आशा है कि यह किसी की मदद करता है!