2007年08月02日

C#3.0:暗黙に型付けされたローカル変数

   このエントリーをはてなブックマークに追加 Clip to Evernote
Visual Studio 2008 β2が登場し、C#3.0がいよいよ現実のものとなってきた。

これまで、ほとんど C#3.0の勉強をしていなかったのだけれど、そろそろ始めないとなーということで、Visual Studio 2008 β2をインストールしてみた。

で、まずは、一番理解しやすい varキーワード について簡単なコードを書いてみた。

int i = 5;
DateTime dt = DateTime.Now;
MyClassr mc = new MyClass();
int[] nums = new int[] { 1,2,3,4,5 };


が、

var i = 5;
var dt = DateTime.Now;
var mc = new MyClass();
var nums = new int[] { 1,2,3,4,5 };


と書ける。
以下のようなコードもOKだ。

class Program {
static void Main(string[] args) {
var e = Sample.GetEnumerable();
foreach ( var n in e )
Console.WriteLine(n);

}
}

static class Sample {
public static IEnumerable<int> GetEnumerable() {
yield return 1;
yield return 2;
yield return 3;
yield return 7;
yield return 11;
}
}


なんか、JavaScriptみたいだ。
これは、コンパイラーが、型を自動推論し、適切な型の変数を割り当ててくれる。

なので、型が推論できない以下のようなコードは、エラーになる。

var x;
var x = null;


また、

var x = { 1,2,3 };


という文も文法上エラーとなる。


ちなみに、var は、ローカル変数にだけ利用できる。フィールドには利用できない。


この記事へのコメント
Visual Basic ライフ 管理人です
相互リンクいたしませんか?
返事は私のブログの最新記事にてお願いいたします
お返事待っています
Posted by Techthrone at 2007年08月06日 21:39
 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51020017