【C#】BitArray拡張
BitArrayを使ったBit操作を少し楽にする。
using System;
using System.Collections;
namespace mira
{
/// <summary>
/// BitArray拡張メソッド
/// </summary>
public static class BitArrayExtension
{
/// <summary>
/// いずれかのビットがONになっているか確認します。
/// </summary>
static public bool Any(this BitArray self)
{
foreach (bool bit in self)
{
if (bit)
{
return true;
}
}
return false;
}
/// <summary>
/// 全てのビットがONになっているか確認します。
/// </summary>
public static bool All(this BitArray self)
{
foreach (bool bit in self)
{
if (!bit)
{
return false;
}
}
return true;
}
/// <summary>
/// すべてのビットがOFFになっているかを取得します。
/// </summary>
public static bool None(this BitArray self)
{
return !Any(self);
}
/// <summary>
/// 指定ビットを反転する。
/// </summary>
public static void Flip(this BitArray self, int index)
{
self.Set(index, !self.Get(index));
}
}
}