इस प्रश्न से निम्नलिखित जानने के बाद मेरे दिमाग में आया :
where T : struct
हम, सी # डेवलपर्स, सभी सी # की मूल बातें जानते हैं। मेरा मतलब है घोषणा, सशर्त, लूप, ऑपरेटर इत्यादि।
हम में से कुछ ने भी जेनरिक , अनाम प्रकार , लैम्ब्डा , LINQ , जैसे सामान में महारत हासिल की ...
लेकिन सी # की सबसे छिपी विशेषताएं या चालें क्या हैं जो कि सी # प्रशंसकों, नशेड़ी, विशेषज्ञों को भी मुश्किल से पता है?
यहाँ अब तक सामने आई विशेषताएं हैं:
कीवर्ड
yieldमाइकल स्टम द्वाराvarमाइकल स्टम द्वाराusing()कोकोस द्वारा बयानreadonlyकोकोस द्वाराasमाइक स्टोन द्वाराas/ एड स्वांग्रेनisद्वाराas/is(सुधार) रॉकेटपेंट द्वाराdefaultमृत्युभोज द्वाराglobal::pzycoman द्वाराusing()AlexCuse द्वारा ब्लॉकvolatileजैकब cturc द्वाराextern aliasजैकब cturc द्वारा
गुण
DefaultValueAttributeमाइकल स्टम द्वाराObsoleteAttributeDannySmurf द्वाराDebuggerDisplayAttributeस्टु द्वाराDebuggerBrowsableऔर bdukesDebuggerStepThroughद्वाराThreadStaticAttributeमार्क्सवाद द्वाराFlagsAttributeमार्टिन क्लार्क द्वाराConditionalAttributeएंड्रयूबर्न द्वारा
वाक्य - विन्यास
??(coalesce nulls) ऑपरेटर कोकोज द्वारा- निक बर्र्डी द्वारा नंबर फ्लैगिंग्स
where T:newलार्स मोहालुम द्वारा- कीथ द्वारा निहित उत्पत्ति
- कीथ द्वारा एक-पैरामीटर लैंबडास
- कीथ द्वारा ऑटो गुण
- कीथ द्वारा नेमस्पेस उपनाम
- पैट्रिक द्वारा @ के साथ शब्दशः स्ट्रिंग शाब्दिक
enumमूल्यों द्वारा lfoust- मार्क्सवादियों द्वारा @variablenames
eventसंचालक मार्क्सडैड द्वारा- पोर्टमैन द्वारा स्ट्रिंग स्ट्रिंग को प्रारूपित करें
- संपत्ति अभिगम्यता संशोधक xanadont द्वारा
- जेसन
?:द्वारा सशर्त (टर्नरी) ऑपरेटर ( ) checkedऔर Binoj एंटनीuncheckedद्वारा ऑपरेटरोंimplicit and explicitफ्लोरी द्वारा संचालक
भाषा सुविधाएं
- ब्रैड बार्कर द्वारा अशक्त प्रकार
- अनाम प्रकार कीथ द्वारा
__makeref __reftype __refvalueयहूदा हिमांगो द्वारा- लोमैक्सएक्स द्वारा ऑब्जेक्ट इनिशियलाइज़र
- डेविड द्वारा डकोटा में प्रारूप का तार
- विस्तार तरीके मार्क्सवाद द्वारा
partialजॉन एरिकसन द्वारा तरीके- जॉन असबेक द्वारा प्रीप्रोसेसर निर्देशन
DEBUGरॉबर्ट ड्यूरगिन द्वारा पूर्व-प्रोसेसर निर्देश- ऑपरेटर SefBkn द्वारा ओवरलोडिंग
- चकरी के द्वारा बांझपन टाइप करें
- रोब गफ द्वारा बूलियन ऑपरेटरों को अगले स्तर पर ले जाया गया
- रोमन बोइको द्वारा बॉक्सिंग के बिना इंटरफ़ेस के रूप में मूल्य-प्रकार चर पारित करें
- रोमन बोइको द्वारा प्रोग्राम घोषित चर प्रकार निर्धारित करें
- क्रिस द्वारा स्टेटिक कंस्ट्रक्टर्स
- रोस्टरोनाइड द्वारा LINQ का उपयोग करते हुए आसान-पर-आंखों / संघनित ओआरएम -मैपिंग
__arglistZac बॉलिंग द्वारा
दृश्य स्टूडियो सुविधाएँ
- हिमाद्री द्वारा संपादक में पाठ का ब्लॉक चुनें
- डैनीस्मर्फ द्वारा स्निपेट्स
ढांचा
TransactionScopeकिवीबस्टर्ड द्वाराDependantTransactionकिवीबस्टर्ड द्वाराNullable<T>IainMH द्वाराMutexडायगो द्वाराSystem.IO.Pathद्वारा ageektrappedWeakReferenceजुआन मैनुअल द्वारा
तरीके और गुण
String.IsNullOrEmpty()कीवीबस्टर्ड द्वारा विधिList.ForEach()कीवीबस्टर्ड द्वारा विधिBeginInvoke(), विल डीनEndInvoke()द्वारा तरीकेNullable<T>.HasValueऔर RismoNullable<T>.Valueद्वारा गुणGetValueOrDefaultविधि जॉन शेहान द्वारा
सलाह & चाल
- एंड्रियास एचआर निल्सन द्वारा घटना संचालकों के लिए अच्छी विधि
- जॉन द्वारा अपरकेस की तुलना
- गुमनाम प्रतिबिंबों तक पहुंच बिना dp द्वारा
- विल द्वारा संग्रह गुणों को आलसी करने का एक त्वरित तरीका
- जावास्क्रिप्ट की तरह अनाम इनलाइन-कार्य roosteronacid द्वारा
अन्य
- द्वारा netmodules Kokos
- डंकन स्मार्ट द्वारा LINQBridge
- जोएल कोएहॉर्न द्वारा समानांतर एक्सटेंशन