黙々とC#

"In a mad world of VBA, only the mad are sane" 『VBAという名の狂った世界で狂っているというのなら私の気は確かだ』

C#読書会 『C# ショートコードプログラミング 第2版』に関する感想など 第1章

大阪で定期的に開催されているC# 読書会での『C# ショートコードプログラミング 第2版』に関する感想などをまとめました。

C#ショートコードプログラミング 第2版 (MSDNプログラミングシリーズ)

C#ショートコードプログラミング 第2版 (MSDNプログラミングシリーズ)

1.2

getterだけのプロパティ

class A
{
    public string Id => "004989";         //呼び出されるたびに毎回評価
    public string Id {get;} = "004989";   //初期化されるときだけ評価

    //似ていて違うもの
    public string Id() => "004989";   //メソッド
    public string id = "004989";   //パブリックフィールド
}

1.5

OLD CODEの方が読みやすい

ForEachの拡張メソッド作ればいいじゃん。 Do とか。(処理を挟み込みたい時)

memo

ReactiveExtension だと、便利

1.9

使わない

1.10

static bool myMethos(int x) => x > 100;

1.11

null条件演算子 (旧名: null伝搬演算子)

1.12

初期化という意味では、コンストラクタに引数をいれる

初期化構文のメリット

コンストラクタのメリット ・引数チェックができる ・必要の初期化

1.13

なし

後始末を確実にするなら using 文 => 強制的に using に持って行くべき

1.14

1.15

1.16

1.17

文字リソースは、外に出したい。

→ 独自構文エンジンをつくると○

1.18

static コンストラクタのメリット 言語仕様上、 スレッドセーフ

注意: Task.Delay は C#1.0では使えない。

今なら、 Lazy を使うとよい。 C#4.0

C#ショートコードプログラミング 第2版 (MSDNプログラミングシリーズ)

C#ショートコードプログラミング 第2版 (MSDNプログラミングシリーズ)