मैं एक साधारण छोटे से कोड टुकड़ा है कि मुझे निराशा होती है है: (सी # सशर्त ऑपरेटर कोई वक्तव्य नहीं है?
Only assignment, call, increment, decrement, and new object expressions can be used as a statement
HashSet.Add
एक bool वापस जाने के लिए दर्ज है, इसलिए त्रिगुट:
HashSet<long> groupUIDs = new HashSet<long>();
groupUIDs.Add(uid)? unique++ : dupes++;
संकलन समय में, यह त्रुटि उत्पन्न?) ऑपरेटर को काम करना चाहिए, और यह हैश-सेट में जोड़े गए अद्वितीय और डुप्लिकेट आइटमों की संख्या को ट्रैक करने के लिए एक पूरी तरह से वैध तरीका जैसा दिखता है।
जब मैं इसे फिर से सुधारता हूं, तो यह ठीक काम करता है।
कोई भी त्रुटि की व्याख्या कर सकता है, और यदि सरल टर्नरी ऑपरेटर के रूप में ऐसा करने का कोई तरीका है?
मैं इसके बजाय अगर स्टेटमैन पसंद करता हूं। डमी असाइन वैरिएबल है कि कुछ उत्तरों सुझाव दे रहे हैं कि सिर्फ भ्रम जोड़ता है। –
यह भी ध्यान दें कि टर्नरी आमतौर पर एक मूल्य चुनने के लिए उपयोग किया जाता है, कोई क्रिया नहीं चुनते हैं। आपके मामले में आप यह चुन रहे हैं कि दो मानों में से एक को बढ़ाया जाए या नहीं। इसलिए यदि आप कोई कार्रवाई चुन रहे हैं तो इसका उपयोग करने के लिए और अधिक अर्थपूर्ण भावना होती है। – AaronLS