うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【C#】ビットマスクを利用して偶数奇数を判定する

public static class IntExtension
{
    private static int _Mask = 0x1;
 
    /// <summary>
    /// 奇数かどうか
    /// </summary>
    /// <returns></returns>
    public static bool IsOdd(this int self)
    {
        return (self & _Mask) == _Mask;
    }
 
    /// <summary>
    /// 偶数かどうか
    /// </summary>
    /// <returns></returns>
    public static bool IsEven(this int self)
    {
        return (self & _Mask) == 0;
    }
}

実際には 以下の処理を書いたほうが早いし、GCも発生しないので
なにかしらでビットマスクを利用しないといけない場合に利用してください

var isEven = i % 2 == 0;
var isOdd = i % 2 == 1;