MEMO2018-04-08独習C#メモC#に関して、自分が知ってる言語には無かった点や罠になりそうな点をまとめておく。<summary>でドキュメンテーションコメントが記述出来る。ドキュメンテーションコメントの内容は、インテリセンスの際に要約として表示してくれる。(インテリセンスへはVisualStudioを開き直さないと反映されなかった。0;というように、変数宣言の際に型を指定子なければならない。0;と宣言すると、右辺(この場合0)を見て型を自動的に設定してくれる。注意なのは、あくまで自動的な型付けをしてくれるだけであって、動的型付けになったわけではない。以下のソースはコンパイルエラーとなる。userInput;また、フィールドに対してはvarを使用できないことも注意。文字列への変数展開ESにおけるテンプレートリテラルのような仕様がC#でも存在している。(C#6から使える)$"..."のように、文字列リテラルの前の$を指定すると、変数・式を{}で囲むことで展開してくれる。$"彼の名前は{name}です。1.677722E+07null条件演算子・null合体演算子nullな変数のメソッドにアクセスしようとすると、当然例外が発生してしまう。そのためnullチェックが必要となるわけだが、変数がnullでない時だけメソッドにアクセスする「null条件演算子」と、nullでなければ後ろに続く式を返す「null合体演算子」が便利。outTextにはnullが入るのように、変数がnullの際にはメソッドへのアクセスをスルーしてnullと評価してくれる。Bのように記述し、Aがnullの際にはBと評価される。null";Console.WriteLine(outText);のようにすっきりかける。値型はnullを通常扱えないが、int?のように?を付けることでnullを扱える「null許容型」として宣言できる。多次元配列は行・列がそれぞれツラが揃っている配列で、ジャグ配列は不揃いな配列のこと。整数同士の除算は、自動的に整数化されてしまう。0なので、少数が欲しい時は明示的にdなりfなりをつけて少数が返ってくるようにすること。参照型の比較は、参照先が同じか否かで判断される。false例外として、文字列は中身が同じか否かで判断される。truenameof演算子nameof演算子を使用することで、識別子を文字列として取得することが出来る。10これの何が嬉しいかというと、VisualStudioの「名前の変更」機能の対象になってくれるのが嬉しいみたい。Collection)という書き方でforeachが利用できる。Console.WriteLine(name);}。