Edited at

C#をはじめて調べたこと

2018年4月ごろまでは仕事でVB.NETを使っていて、新しい言語仕様も大して取り入れず適当なコードを書いてましたが

2018年9月ごろから趣味でC#を使い始めてよくわからず調べたことをメモ的にまとめています。

なお個人的にVBのときに使っていなかっただけで、C#固有のものというわけではありません。

(ある意味当たり前ですが、ほとんどVBにも同じ構文は存在します。)

個人的なメモとして書いていますので、くだらない記事を読んだと怒らないようお願いします。

随時更新です。


非同期処理

https://qiita.com/rawr/items/5d49960a4e4d3823722f

https://qiita.com/TsuyoshiUshio@github/items/e9404651c9e48f1b8443


var(使いどころ)

https://qiita.com/hollydad/items/1516a3f13147a754b9db

https://qiita.com/Nossa/items/e5e50d2fc1ae8b3e2389


クラスをnewしたときに値をセットする(オブジェクト初期化子)

https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers


null合体演算子、null条件演算子

null合体→ a ?? b 「aがnullならbを返す」

null条件→ a?.property,a?[1]「aがnullでもヌルポにならずnullを返す」

合わせ技 a?.property ?? "default"

https://qiita.com/Nossa/items/1fd4881a0b97a5f32901


タプル

http://ryuichi111std.hatenablog.com/entry/2017/03/12/175357

http://ryuichi111std.hatenablog.com/entry/2016/12/22/011853


オプション引数(VBでいうところのOptional)

https://ufcpp.net/study/csharp/sp4_optional.html


stringの@とか$とか

@は逐語的文字列という

$は補完文字列という

http://csharpvbcomparer.blogspot.com/2016/05/csharp-string-literal-summary-interpolation-and-verbatim.html


ラムダ式とLINQ

https://qiita.com/m-gen/items/ebe59422affc69a92429

https://qiita.com/stokes_dotnet/items/a70c33911ad96e5d8188


色々まとめて

https://ufcpp.net/study/csharp/