C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のBitArrayに含まれる要素数を取得する方法

C#のBitArrayに含まれる要素の数を取得するには、Countプロパティを使用します。このプロパティは、BitArray内に実際に格納されているビット要素の総数を返します。

Countプロパティとは

BitArray.Countは、コレクション内の要素数を表す整数値を返すプロパティです。BitArrayは作成時に指定したサイズ分のビットを保持するため、通常はコンストラクタで指定した値と同じ数が返されます。

サンプルコード1:Or演算後のBitArrayの要素数

以下の例では、2つのBitArrayに対してビット単位のOR演算を行い、その結果得られるBitArrayの要素数を確認しています。

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      BitArray arr1 = new BitArray(5);
      BitArray arr2 = new BitArray(5);
      arr1[0] = false;
      arr1[1] = false;
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("BitArray1の要素...");
      foreach (bool res in arr1) {
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitArray2の要素...");
      foreach (bool res in arr2) {
         Console.WriteLine(res);
      }
      Console.WriteLine("\nビット単位のOR演算...");
      IEnumerable demoEnum = arr1.Or(arr2);
      foreach(Object ob in demoEnum) {
         Console.WriteLine(ob);
      }
      Console.WriteLine("\n結果のBitArrayに含まれる要素数 = "+arr1.Count);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

BitArray1の要素...
False
False
False
False
False
BitArray2の要素...
False
True
False
False
False
ビット単位のOR演算...
False
True
False
False
False
結果のBitArrayに含まれる要素数 = 5

この例では、OR演算によってarr1の内容が更新され、その結果のBitArrayには5つの要素が含まれていることがCountプロパティで確認できます。

サンプルコード2:CopyToメソッドとの組み合わせ

次の例では、BitArrayの要素数を取得した後、CopyToメソッドを使ってbool型の配列にコピーしています。

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      BitArray arr = new BitArray(2);
      arr[0] = false;
      arr[1] = true;
      Console.WriteLine("BitArrayの要素...");
      foreach (bool res in arr) {
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitArrayに含まれる要素数 = "+arr.Count);
      bool[] boolArr = new bool[2];
      boolArr[0] = true;
      boolArr[1] = false;
      arr.CopyTo(boolArr, 0);
      Console.WriteLine("\n配列...");
      foreach(Object obj in boolArr) {
         Console.WriteLine(obj);
      }
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

BitArrayの要素...
False
True

BitArrayに含まれる要素数 = 2
配列...
False
True

まとめ

BitArrayの要素数を取得したい場合は、Countプロパティを使うだけで簡単に確認できます。また、Lengthプロパティも同じ値を返すため、どちらを使用しても同様の結果が得られます。ビット演算や配列へのコピーなど、BitArrayを操作する場面で要素数を把握しておくと便利です。

  1. C#のListDictionaryに含まれるキーと値のペアの数を取得する方法

    C#のListDictionaryに含まれるキーと値のペアの数を取得するには、Countプロパティを使用します。Countプロパティは、コレクション内に現在格納されているキーと値のペアの総数をint型で返します。また、すべての要素を削除したい場合はClearメソッドを使います。Clearメソッドを実行すると、Countの値は0になります。コード例1using System; using System.Collections; using System.Collections.Specialized; public class Demo { public static void Main

  2. 【C#】LINQのTake()メソッドでシーケンスの先頭から指定した数の要素を取得する方法

    C#では、LINQを活用することでコレクションの操作を簡潔に記述できます。本記事では、OrderByDescendingメソッドで配列を降順に並べ替え、Take()メソッドを使ってシーケンスの先頭から指定した数の要素を取得する方法を解説します。処理の流れ1. 配列を用意するまずは、対象となる整数型の配列を定義します。int[] prod = { 290, 340, 129, 540, 456, 898, 765, 789, 345};2. 降順に並べ替えて先頭の要素を取得する次に、AsQueryable()でクエリ可能な形式に変換し、OrderByDescendingで降順ソートを行います。そ