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

C#のArrayクラスでよく使われる主要メソッド一覧と使い方を解説

C#におけるArrayクラスは、すべての配列の基底クラスであり、System名前空間に定義されています。このクラスには、配列を操作するための便利なメソッドが多数用意されており、日常的なプログラミングで頻繁に利用されます。

ここでは、Arrayクラスの中でも特によく使われる代表的なメソッドを紹介します。

Arrayクラスの主なメソッド一覧

番号メソッドと説明
1Clear
配列内の指定範囲の要素を、要素の型に応じてゼロ・false・nullに設定します。
2Copy(Array, Array, Int32)
元の配列の先頭要素から指定した長さ分の要素をコピーし、別の配列の先頭から貼り付けます。長さは32ビット整数で指定します。
3CopyTo(Array, Int32)
現在の1次元配列のすべての要素を、指定したインデックス以降の別の1次元配列へコピーします。インデックスは32ビット整数で指定します。
4GetLength
指定した次元に含まれる要素数を、32ビット整数として取得します。
5GetLongLength
指定した次元に含まれる要素数を、64ビット整数として取得します。
6GetLowerBound
配列の指定した次元におけるインデックスの下限(最小値)を取得します。
7GetType
現在のインスタンスのType情報を取得します(Objectクラスから継承)。
8GetUpperBound
配列の指定した次元におけるインデックスの上限(最大値)を取得します。

それでは、Arrayクラスのメソッドを使って、配列の上限(UpperBound)と下限(LowerBound)を取得する具体例を見てみましょう。

サンプルコード

using System;

class Program {
    static void Main() {
        int[] arr = new int[3,4];

        Console.WriteLine(arr.GetLength(0));
        Console.WriteLine(arr.GetLength(1));

        // Length
        Console.WriteLine(arr.Length);
        Console.WriteLine("Upper Bound: {0}",arr.GetUpperBound(0).ToString());
        Console.WriteLine("Lower Bound: {0}",arr.GetLowerBound(0).ToString());
    }
}

実行結果

3
4
12
Upper Bound: 2
Lower Bound: 0

実行結果の解説

この例では、int[3,4]という2次元配列を作成しています。GetLength(0)は第1次元の要素数「3」、GetLength(1)は第2次元の要素数「4」を返し、Lengthプロパティは全要素数「12」を返します。

また、C#の配列はインデックスが0から始まるため、GetUpperBound(0)は第1次元の最大インデックス「2」を、GetLowerBound(0)は最小インデックス「0」をそれぞれ返します。これらのメソッドを活用することで、多次元配列のサイズや境界を安全に扱うことができます。

  1. 【Java 9】Optionalクラスに追加された3つの新メソッド(or / ifPresentOrElse / stream)を解説

    Optionalクラスは、null以外の値を保持しているかもしれないし、保持していないかもしれない——そんな状態を表現できるコンテナを提供します。このクラスはJava 8で導入され、コード中でNullPointerExceptionが発生しうる箇所を減らすことを目的としています。さらにJava 9では、デフォルト値の扱いをより柔軟にするための3つの新メソッド、or()、ifPresentOrElse()、stream()が追加されました。 Optional.or() or()メソッドはJava 9で導入され、引数として関数型インターフェースのSupplierを受け取ります。このメソッドは常に

  2. Javaのクラスメソッド(静的メソッド)とは?基本から使い方まで解説

    Javaにおけるクラスメソッド(静的メソッド)とは、特定のオブジェクトのインスタンスではなく、クラスそのものに対して呼び出されるメソッドのことです。static修飾子を付けることで、すべてのクラスインスタンス間で同じ実装が保証されます。静的メソッドはインスタンス化せずに呼び出すことができるため、アクセスできるのはクラス内の他の静的メンバー(staticなフィールドやメソッド)のみです。インスタンス変数や非staticメソッドには直接アクセスできない点に注意しましょう。Javaの標準ライブラリにも多くの静的メソッドが用意されています。代表的な例としては、Math.random()、System.