タグ別アーカイブ: bit演算

XOR演算でswap


コードを書いていて, 値を入れ替えるときに,
C#は標準でswap関数は無いようなので,

if (from > to) // from > to だったら入れ替える
{
    var temp = from;
    from = to;
    to = temp;
}

と普通に書いていたら, 先輩が次のようにきれいにしてくれました!

static class math
{
    public static void swap<T>(ref T a, ref T b)
    {
        T temp = a;
        a = b;
        b = temp;
    }
}
***** func(~~~~)
{
    if (from > to) 
    {
        math.swap(ref to, ref from);
    }
    .....

なるほど, たしかに, swapはこれからも使う気がするから, こっちのほうがいいしコードもきれいになった!(((o(*゚▽゚*)o)))

続きを読む XOR演算でswap