C#のBitArrayクラスにおけるItemプロパティ(インデクサ)の使い方を解説
C#のBitArrayクラスには、Itemプロパティが用意されています。このプロパティを使うことで、BitArray内の指定した位置にあるビットの値を取得・設定することができます。
Itemプロパティとインデクサの関係
C#では、Itemプロパティを直接実装する代わりに、thisキーワードを使用してインデクサを定義するのが一般的な方法です。インデクサを定義しておけば、配列と同じようにmyCollection[index]という形式で要素にアクセスできます。
つまり、BitArrayの各ビットに対して、インデックス番号を指定して読み書きが可能になるのです。
BitArrayクラスのItemプロパティの実装例
以下は、BitArrayクラスのItemプロパティ(インデクサ)を使った具体的なコード例です。
サンプルコード
using System;
using System.Collections;
class Demo {
static void Main() {
bool[] arr = new bool[5];
arr[0] = true;
arr[1] = true;
arr[2] = false;
arr[3] = false;
BitArray bArr = new BitArray(arr);
foreach (bool b in bArr) {
Console.WriteLine(b);
}
bool str = arr[1];
Console.WriteLine("Value of 2nd element:" + str);
}
}実行結果
True True False False False Value of 2nd element:True
コードの解説
このサンプルコードでは、まず5つの要素を持つbool型の配列を作成し、先頭から順にtrue、true、false、falseという値を設定しています。その後、この配列をもとにBitArrayオブジェクトを生成しています。
foreachループによってBitArray内のすべてのビット値を順番に出力し、最後にインデクサ(Itemプロパティ)を使って2番目の要素(インデックス1)の値を取得して表示しています。実行結果からも、指定した位置のビット値が正しく取得できていることが確認できます。
まとめ
BitArrayクラスのItemプロパティは、特定位置のビット値にアクセスするための重要な機能です。C#ではthisキーワードによるインデクサとして実装されており、通常の配列と同じ構文で直感的に操作できる点が大きな特徴といえます。
-
C#のSortedListクラスのCapacityプロパティとは?意味と使い方を解説
C#のSortedListクラスにおけるCapacityプロパティとはSortedListクラスのCapacity(容量)プロパティは、SortedListが保持できる要素数の最大サイズを示すプロパティです。つまり、内部的に確保されている配列が格納できる要素の総数を表しています。なお、SortedListの既定の容量(デフォルト値)は16に設定されています。要素を追加していき容量を超えると、容量は自動的に拡張される仕組みになっています。以下のコードを実行すると、C#でSortedListクラスのCapacityプロパティを実際に確認できます。コード例using System; using Sy
-
C#のArrayListクラスにおけるCapacityプロパティとは?使い方を解説
ArrayListクラスのCapacityプロパティは、そのArrayListが格納できる要素の数を取得または設定するためのプロパティです。Capacity(容量)は、実際に格納されている要素数を表すCount(カウント)よりも常に大きいか等しい値になります。Capacityプロパティへのアクセスは以下のように記述します。arrList.Capacity容量の仕組みArrayListの既定の容量は4です。要素を追加していき、既定の容量を超えると、容量は自動的に2倍に拡張されます。例えば、5つの要素を追加した場合、容量は8に拡張されます。以降も同様に、容量を超えた時点で順次2倍ずつ拡張されていき