C#3.0その1 varキーワード

C#3.0、いいですねぇ~
C#の歴史の中で最大じゃないかと言えるほど進化しました。
ラムダ式やLINQなど派手なネタも多いのですが、地味ながら
実際にコーディングすると一番お世話になりそうなのが
varキーワードです。
単に型をコンパイラが推測するだけの機能ですが、
この機能のおかげでコーディングのストレスが大幅に改善されます。
var a = b as hoge
foreach(var a in hoges)
var a = hoge.GetHoge();
上記のような使い方ができます。
varキーワードを使い始めて改めて気付いたのは、
型を記述するのに結構な時間を費やしていたということです。
とくにusingでネームスペースを指定ていない型などは
インテリセンスに頼ってもそれなりの入力が必要になるのですが、
varキーワードだと、何も考えずにvarと打てば良くなります。
デメリットとしてソースコードの可読性は、それなりに低下してしまう
のではないでしょうか。
varからはなにも想像できませんからね。
ただ、コーディング中はインテリセンスが賢く効いてくれるので、
問題ありません。
varキーワード使っていて不思議だったのが、
以下のコードでは’ctl’がObject型として判定
されてしまいました。
foreach (var ctl in groupBox1.Controls)
なので、このばあいは’Control’で従来通りの
型指定でEnabledなどのメンバにアクセスする事が出来ました。
foreach (Control ctl in groupBox1.Controls)
まだ原因は分からないのですが、意図しない型に解釈される
事もあるので、場合によっては従来通りの記述をしましょう。

Author: kachi

コメントを残す

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