これは、この質問から次のことを学んだ後に思いつきました。
where T : struct
私たちC#開発者は、C#の基本を知っています。つまり、宣言、条件、ループ、演算子などです。
私たちの中には、ジェネリックス、匿名型、ラムダ、LINQなどをマスターする人もいます。
しかし、C#のファン、中毒者、専門家でさえほとんど知らないC#の最も隠された機能またはトリックは何ですか?
これまでに明らかになった機能は次のとおりです。
キーワード
yieldマイケルStumvarマイケルStumusing()ココスの声明readonlyによってkokosasマイク・ストーンas/isによってエドSwangrenas/is(改良)ロケットパンツdefaultdeathofratsglobal::沿って Pzycomanusing()ブロックする AlexCusevolatile沿って JakubŠturcextern aliasによってJakubŠturc
の属性
DefaultValueAttributeマイケルStumObsoleteAttributeDannySmurfDebuggerDisplayAttributeステューDebuggerBrowsableそしてbdukesDebuggerStepThroughによってThreadStaticAttributemarxidadFlagsAttributeマーティン・クラークConditionalAttributeAndrewBurns
構文
??(nullの合体)演算子 kokos演算子- フラグの番号 ニック・ベラルディ報告
where T:new沿って ラースMæhlum- 暗黙的なジェネリック キース
- 1パラメータのラムダ キース
- 自動プロパティ キース
- 名前空間エイリアス キース
- Patrickによる@を含む逐語的文字列リテラル
enumlfoustによる値- @variablenames by marxidad
eventすることにより、オペレータmarxidad- Portmanによる文字列ブラケットのフォーマット
- xanadontによるプロパティアクセサーのアクセシビリティ修飾子
- JasonS
?:による条件付き(3項)演算子() checkedおよびBinoj Antonyのuncheckedオペレーターimplicit and explicitフロリーのオペレーター
言語機能
- Brad Barkerによるnull可能型
- キースによる匿名型
__makeref __reftype __refvalueユダHimango- lomaxxによるオブジェクト初期化子
- ダコタのDavidによる文字列のフォーマット
- marxidadによる拡張メソッド
partialJon Ericksonによるメソッド- John Asbeckによるプリプロセッサディレクティブ
DEBUGによるプリプロセッサディレクティブ Robert Durgin- SefBknによるオペレーターのオーバーロード
- でinferrenceを入力しchakrit
- Rob Goughがブール演算子を次のレベルに引き上げました
- Roman Boikoによるボクシングなしのインターフェースとして値型変数を渡す
- プログラムで、Roman Boikoが宣言した変数の型を決定する
- クリスによる静的コンストラクタ
- Roosteronacidによる LINQを使用した、より簡単な目/凝縮ORMマッピング
__arglistザックボウリング
Visual Studioの機能
- ヒマドリによるエディターでテキストのブロックを選択
- DannySmurfによるスニペット
フレームワーク
TransactionScopeによってKiwiBastardDependantTransactionによってKiwiBastardNullable<T>IainMHMutexDiagoSystem.IO.Path沿って ageektrappedWeakReferenceフアンマヌエル
メソッドとプロパティ
String.IsNullOrEmpty()KiwiBastardによるメソッドList.ForEach()KiwiBastardによるメソッドBeginInvoke()、Will DeanEndInvoke()によるメソッドNullable<T>.HasValueおよびRismoNullable<T>.ValueによるプロパティGetValueOrDefaultジョン・シーハンによる方法
ヒントとコツ
- Andreas HR Nilssonによるイベントハンドラーの優れたメソッド
- ジョンによる大文字の比較
- dpによるリフレクションなしで匿名型にアクセスする
- ウィルによってコレクションのプロパティを遅延してインスタンス化する簡単な方法
- roosteronacidによる JavaScriptのような匿名インライン関数
その他の
- kokosによるnetmodules
- LINQBridgeによってダンカンスマート
- Joel Coehoornによる並列拡張