この質問から次のことを学んだ後、これが頭に浮かびました。
where T : struct
私たちC#開発者は、C#の基本をすべて知っています。宣言、条件、ループ、演算子などを意味します。
私たちの中には、ジェネリックス、匿名型、ラムダ、LINQ、...などをマスターした人もいます。
しかし、C#ファン、中毒者、専門家でさえほとんど知らないC#の最も隠された機能やトリックは何ですか?
これまでに明らかにされた機能は次のとおりです。
キーワード
yieldマイケル・スタムvarマイケル・スタムusing()ココスの声明readonlyココス_asマイク・ストーンas/ EdSwangrenis作as/is(改善)Rocketpantsによるdefaultdeathofratsによってglobal::pzycomanによるusing()AlexCuseによるブロックvolatileJakubŠturc _extern aliasJakubŠturc _
属性
DefaultValueAttributeマイケル・スタムObsoleteAttributeDannySmurf _DebuggerDisplayAttributeStuによるDebuggerBrowsableとbdukesDebuggerStepThroughによってThreadStaticAttributemarxidadによるFlagsAttributeマーティン・クラークConditionalAttributeAndrewBurnsによる
構文
??(coalesce nulls)kokosによる演算子- NickBerardiによる番号フラグ
where T:newLarsMæhlum著- キースによる暗黙のジェネリック
- キースによる1パラメーターラムダ
- キースによる自動車の特性
- キースによる名前空間エイリアス
- Patrickによる@付きの逐語的な文字列リテラル
enumlfoustによる値- @variablenames by marxidad
eventmarxidadによるオペレーター- Portmanによる文字列ブラケットのフォーマット
- xanadontによるプロパティアクセサーアクセシビリティ修飾子
- JasonS
?:による条件付き(三項)演算子( ) checkedとBinojAntonyuncheckedによるオペレーターimplicit and explicitFloryによるオペレーター
言語機能
- BradBarkerによるNullable型
- キースによる匿名タイプ
__makeref __reftype __refvalueユダ・ヒマンゴ- lomaxxによるオブジェクト初期化子
- ダコタのDavidによる文字列のフォーマット
- marxidadによる拡張メソッド
partialジョンエリクソンによる方法- JohnAsbeckによるプリプロセッサディレクティブ
DEBUGRobertDurginによるプリプロセッサディレクティブ- SefBknによる演算子のオーバーロード
- シャクリットによる型推論
- RobGoughによって次のレベルに引き上げられたブール演算子
- 値型変数をRomanBoikoによるボクシングなしのインターフェースとして渡す
- RomanBoikoによって宣言された変数タイプをプログラムで決定します
- クリスによる静的コンストラクタ
- roosteronacidによるLINQを使用したより簡単な/凝縮されたORMマッピング
__arglistザックボウリング
VisualStudioの機能
- Himadriによるエディターでテキストのブロックを選択します
- DannySmurfによるスニペット
フレームワーク
TransactionScopeKiwiBastard _DependantTransactionKiwiBastard _Nullable<T>IainMHによるMutexディアジオ_System.IO.PathageektrappedによってWeakReferenceフアン・マヌエル
メソッドとプロパティ
String.IsNullOrEmpty()KiwiBastardによる方法List.ForEach()KiwiBastardによる方法BeginInvoke()、ウィルディーンEndInvoke()による方法Nullable<T>.HasValueとRismoNullable<T>.ValueによるプロパティGetValueOrDefaultジョン・シーハンによる方法
ヒントとコツ
- AndreasHRNilssonによるイベントハンドラーの優れた方法
- ジョンによる大文字の比較
- dpによる反映なしで匿名タイプにアクセスする
- Willによってコレクションプロパティを遅延インスタンス化する簡単な方法
- JavaScriptのような匿名インライン-roosteronacidによる関数
他の
- kokosによるnetmodules
- DuncanSmartによるLINQBridge
- JoelCoehoornによる並列拡張

