コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【C#】複数の戻り値をラムダ式で受け取る

int GetParam()
{
    return mId;
}

例えばint型でIDを返す関数があって、その関数からさらにstring型で名前を受けとりたくなった場合
refキーワードを使用すると下記のようになりますが

void GetParam(ref int id, ref string name)
{
    id   = mId;
    name = mName;
}

GetParam(ref id, ref name)

僕はコールバック関数やラムダ式を使用して下記のように書くことが多いです

void GetParam(Action<int, string> act)
{
    act(mId, mName);
}

GetParam((id, name) => 
{
    ...
})