C#のBitArrayクラスとは?主なプロパティとIsReadOnlyの使い方を解説
BitArrayクラスは、ビット(bit)を格納したいものの、必要なビット数が事前にわからない場合に活用できるコレクションクラスです。System.Collections名前空間に属しており、ビット単位でのデータ管理を効率的に行えます。
BitArrayクラスの主なプロパティ
C#のBitArrayクラスには、以下のような便利なプロパティが用意されています。
| 番号 | プロパティと説明 |
|---|---|
| 1 | Count BitArrayに含まれている要素の数を取得します。 |
| 2 | IsReadOnly BitArrayが読み取り専用かどうかを示す値を取得します。 |
| 3 | Item BitArray内の指定した位置にあるビットの値を取得または設定します。 |
| 4 | Length BitArrayの要素数を取得または設定します。 |
IsReadOnlyプロパティの使い方
ここでは、IsReadOnlyプロパティの具体的な使い方を見ていきましょう。IsReadOnlyプロパティを使用すると、対象のBitArrayが読み取り専用かどうかを判定できます。読み取り専用と判定された場合、そのBitArrayに新しい要素を追加することはできません。
以下は、C#でBitArrayクラスのIsReadOnlyプロパティを使用するサンプルコードです。
サンプルコード
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
BitArray ba1 = new BitArray(5);
BitArray ba2 = new BitArray(5);
byte[] a = { 90 };
byte[] b = { 30 };
ba1 = new BitArray(a);
ba2 = new BitArray(b);
Console.WriteLine("Bit array ba1:");
for (int i = 0; i < ba1.Count; i++) {
Console.Write("{0, -4} ", ba1[i]);
}
Console.WriteLine();
Console.WriteLine("IsReadOnly = " + ba1.IsReadOnly);
Console.WriteLine("IsReadOnly = " + ba2.IsReadOnly);
Console.ReadKey();
}
}
}
このコードでは、バイト配列から2つのBitArrayインスタンスを生成し、それぞれのIsReadOnlyプロパティの値をコンソールに出力しています。実行結果として、通常のBitArrayは読み取り専用ではないため「False」が表示されます。
-
C#のBitArrayクラスでCountプロパティを使って要素数を取得する方法
C#のBitArrayクラスにおけるCountプロパティとは?C#のBitArrayクラスは、ビット値(true/false)のコレクションを管理するためのクラスです。このクラスには、Countプロパティが用意されており、これを使うことでBitArrayに含まれる要素(ビット)の総数を簡単に取得できます。なお、BitArrayクラスのCountプロパティは、Lengthプロパティと同じ値を返します。どちらを使用しても要素数は同じになります。BitArrayクラスのインスタンスを作成するまずは、BitArrayクラスのインスタンスを作成しましょう。以下の例では、10個の要素を持つBitArray
-
C#のSortedListクラスのCapacityプロパティとは?意味と使い方を解説
C#のSortedListクラスにおけるCapacityプロパティとはSortedListクラスのCapacity(容量)プロパティは、SortedListが保持できる要素数の最大サイズを示すプロパティです。つまり、内部的に確保されている配列が格納できる要素の総数を表しています。なお、SortedListの既定の容量(デフォルト値)は16に設定されています。要素を追加していき容量を超えると、容量は自動的に拡張される仕組みになっています。以下のコードを実行すると、C#でSortedListクラスのCapacityプロパティを実際に確認できます。コード例using System; using Sy