コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

C#の学習 No. 1 プロパティ

C#を学習してJavaと違う面白い部分を書き出してみる。
C#の目的はWindowsアプリを作りたい(.NET上だけど)のと、WebアプリがJavaとどんなふうに作りが違うのかの確認をしたい。
ちょっと触った感じ、Javaとそっくりだけど細部で結構違う。
まずはプロパティ。
プロパティは面白い。ただ、publicフィールドでもいいんじゃねという感じもする。

private int hoge;
public int Hoge
{
    get { return hoge; }
    set { hoge = value; }
}

privateフィールドをなくして、

public int Hoge { get; set; }

のように書くこともできる。利点がいまいち見えない。Javaでpublicフィールド+必要な場合のアクセサメソッドでもいい気がする。

また、readonlyなフィールドを作成するとコンストラクタ内でのみ初期化が可能という面白いこともできる。