C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2011/03/22 00:03

C#と諸々 ローカル変数に参照渡し

ローカル変数に参照渡しはできないけれど、参照を扱うことはできるということに気付きました。
実は C# には隠しキーワードがいくつかあって、その内の __makeref と __refvalue を使うことで参照を扱うことができます。

using System;
class Program
{
    static void Main()
    {
        int v0 = 0;
        TypedReference r0 = __makeref(v0);
        __refvalue(r0, int) = 5;

        Console.WriteLine(v0); //=> 5
    }
}


タグ: .NET C#