2009年7月15日水曜日

[.NET]constとstatic readonly

constとstatic readonly。どちらも定数定義などに利用できます。
何かが違うはず。ということで、パフォーマンスの比較をやってみました。
コードがアレなので、違いが出なかっただけかもしれませんが。ほとんど誤差レベルしか差が出ませんでした。
ちなみに、static readonlyをstaticにしましたが、あまり変化が無く、誤差レベルでした。
そういう意味で(どういう意味だ?)staticで定義しておけばアセンブリが分かれてもリビルドが不要なため、staticのほうがいいといえるのかも知れません。

static readonly string STATIC_READONLY_STR = "aaaa";
const string CONST_STR = "aaaa";

//    -----------------------------------

for (int cnt = 0cnt < maxcnt++)
{
    if (CONST_STR == "aaaa")
    {
        dummy++;
    }
    else
    {
        dummy--;
    }
}

//-----------------------------------

for (int cnt = 0cnt < maxcnt++)
{
    if (STATIC_READONLY_STR == "aaaa")
    {
        dummy++;
    }
    else
    {
        dummy--;
    }
}

0 件のコメント: