いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

C#3.0の追加機能-01(暗黙型付け(var))

Visual Studio2008も出たことですし、ちょっとC#3.0を
勉強してみようと思います。基本的にメモ書きになりそうなので
その辺はご勘弁を。m(_ _)m


C#3.0では、スクリプト言語のような暗黙型付けがサポートされました。
暗黙型付けを行なう場合は、varキーワードを利用して宣言します。
ちなみに、宣言できるのはローカル変数のみです。


尚、配列も暗黙型付けがサポートされています。
今までだと、

List values = new List();
values.AddRange(new string[]{"hoge", "hehe", "fuga"});

としていましたが、

var values = new List();
values.AddRange(new[]{"hoge", "hehe", "fuga"});

とするようになっています。
new[]{}という風に定義します。
何の型の配列を作成しないといけないかは、コンパイラが推論します。



以下サンプルです。

// vim:set ts=4 sw=4 et ws is nowrap ft=cs:
using System;
using System.Collections.Generic;

namespace Gsf.Samples.Tmp{

    public class AnonymousVariableSample : IExecutor{

        // エラー。ローカル変数でのみvarは使用できます。
        //var s = "hgoe";

        public void Execute(){
            // 内部型はint.
            var max = 100;
            for(var i = 0; i < max; i++){
                Console.Write(" {0}", i);
            }

            Console.WriteLine(".");

            // 内部型はList<string>.
            new List<string>(new[]{"hoge", "hehe", "fuga"}).ForEach(elem => { Console.WriteLine(elem); }); 
        }
    }
}

================================
過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。