परिचय
टर्नरी ऑपरेटर ?: एकमात्र तीन-ऑपरेंड ऑपरेटर है: condition ? trueExpr : falseExpr। शर्त true हो तो पहला एक्सप्रेशन, वरना दूसरा।
उदाहरण
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
int x = 25;
int y;
y = (x == 25) ? 20 : 30;
Console.WriteLine("Value of y = {0}", y); // 20
y = (x == 1) ? 50 : 90;
Console.WriteLine("Value of y = {0}", y); // 90
// नेस्टेड टर्नरी (पठनीयता के लिए टालें)
int z = x > 10 ? (x < 20 ? 1 : 2) : 3;
Console.ReadLine();
}
}
}
नियम
- दोनों एक्सप्रेशंस का टाइप संगत होना चाहिए (या एक-दूसरे में इम्प्लिसिट कन्वर्टिबल)।
- साइड इफेक्ट्स वाले एक्सप्रेशंस में सावधानी (केवल चुना हुआ एक्सप्रेशन मूल्यांकित होता है - शॉर्ट-सर्किट)।
- पठनीयता के लिए सरल असाइनमेंट/रिटर्न में उपयोग करें; जटिल लॉजिक के लिए
if-elseबेहतर।
उपयोग केस
// नल चेक string name = user?.Name ?? "Anonymous"; // इनलाइन रिटर्न return (count > 0) ? "Has items" : "Empty"; // फैक्टरी var obj = useCache ? GetCached() : CreateNew();