C#の型推論

サイオステクノロジー技術部 武井です。C#の型推論について、アンチパターンも含めてちょっとだけまとめてみました。varとかいうやつです。

varの使いどころ

こういうコードがあったとします。

Dictionary<string, Dictionary<int, string>> hoge = new Dictionary<string, Dictionary<int, string>>();

長いですね、、、。こんな時のvarです。このように書き直すことが出来ます。

var hoge = new Dictionary<string, Dictionary<int, string>>();

コードがスッキリしました。右辺のnew Dictionary<string, Dictionary<int, string>>から型を推論してくれます。つまり、varはDictionary<string, Dictionary<int, string>>に等しいです。

ダメなパターン

以下のようなコードはアンチパティーンです。

var hoge = fuga.Result;

右辺から左辺の型が想像出来ないからです。string?int?どのみち、fugaのクラスの仕様を見てみないとわかりません、、、。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です