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

C#のArrayListクラスにおけるIsFixedSizeプロパティの使い方を解説

C#のArrayListクラスには、コレクションの状態を確認するための便利なプロパティが多数用意されています。そのひとつがIsFixedSizeプロパティです。

IsFixedSizeプロパティは、ArrayListが固定サイズであるかどうかを示すbool型の値を取得するために使用されます。通常、new ArrayList()で生成したArrayListは可変サイズ(要素の追加・削除が可能)であるため、このプロパティはFalseを返します。

IsFixedSizeプロパティの基本的な使い方

以下は、IsFixedSizeプロパティを使用してArrayListが固定サイズかどうかを確認するサンプルコードです。

using System;
using System.Collections;

class Demo {
    public static void Main() {
        // ArrayListのインスタンスを作成
        ArrayList arrList = new ArrayList();

        Console.WriteLine("数値を追加します:");
        arrList.Add(45);
        arrList.Add(78);

        // 要素数を表示
        Console.WriteLine(arrList.Count);

        // 固定サイズかどうかを確認
        Console.WriteLine("myArrayList.IsFixedSize = " + arrList.IsFixedSize);
    }
}

実行結果

数値を追加します:
2
myArrayList.IsFixedSize = False

コードの解説

まず、次のようにArrayListのインスタンスを作成しています。

ArrayList arrList = new ArrayList();

続いて、Addメソッドを使って2つの整数値を追加し、Countプロパティで現在の要素数(この場合は「2」)を出力しています。

最後に、以下のコードでArrayListが固定サイズかどうかを判定しています。

Console.WriteLine("myArrayList.IsFixedSize = " + arrList.IsFixedSize);

実行結果がFalseとなっていることから、このArrayListは固定サイズではなく、後から自由に要素を追加・削除できることがわかります。

補足:固定サイズのArrayListを作成したい場合

もし固定サイズのリストが必要な場合は、ArrayList.FixedSize()メソッドを使って既存のArrayListをラップすることで、要素の追加や削除ができない固定サイズのコレクションを作成できます。この場合、IsFixedSizeプロパティはTrueを返します。

  1. C#のArrayListクラスにおけるCountプロパティの使い方を解説

    C#のArrayListクラスには、リストに格納されている要素の数を取得するためのCountプロパティが用意されています。このプロパティを使うことで、ArrayList内の現在の要素数を簡単に確認できます。ArrayListへの要素の追加まず、Addメソッドを使ってArrayListに要素を追加します。ArrayList arrList = new ArrayList(); arrList.Add(98); arrList.Add(55); arrList.Add(65); arrList.Add(34);上記のコードでは、4つの整数値(98、55、65、34)をArrayListに追加して

  2. C#のArrayListクラスにおけるCapacityプロパティとは?使い方を解説

    ArrayListクラスのCapacityプロパティは、そのArrayListが格納できる要素の数を取得または設定するためのプロパティです。Capacity(容量)は、実際に格納されている要素数を表すCount(カウント)よりも常に大きいか等しい値になります。Capacityプロパティへのアクセスは以下のように記述します。arrList.Capacity容量の仕組みArrayListの既定の容量は4です。要素を追加していき、既定の容量を超えると、容量は自動的に2倍に拡張されます。例えば、5つの要素を追加した場合、容量は8に拡張されます。以降も同様に、容量を超えた時点で順次2倍ずつ拡張されていき