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

C#のArrayクラスのプロパティとは?主要プロパティと使い方を解説

C#におけるArrayクラスは、すべての配列の基底クラスであり、System名前空間で定義されています。このクラスには、配列のサイズや読み取り専用かどうか、次元数などの情報を取得するための便利なプロパティが多数用意されています。

Arrayクラスの主なプロパティ一覧

No.プロパティと説明
1IsFixedSize
配列が固定サイズであるかどうかを示す値を取得します。
2IsReadOnly
配列が読み取り専用であるかどうかを示す値を取得します。
3Length
配列のすべての次元に含まれる要素の総数を、32ビット整数(int)として取得します。
4LongLength
配列のすべての次元に含まれる要素の総数を、64ビット整数(long)として取得します。大きな配列を扱う場合に有用です。
5Rank
配列のランク(次元数)を取得します。

Rankプロパティで次元数を取得する

Rankプロパティを使用すると、配列の次元数を簡単に調べることができます。

arr.Rank

ここで、arrは次のように宣言された2次元配列です。

int[] arr = new int[3,4];

GetLengthメソッドで行数・列数を取得する

配列の各行・各列の要素数(長さ)を取得したい場合は、GetLengthメソッドを使用します。引数には次元のインデックスを指定します。

arr.GetLength(0); // 1次元目(行)の長さ
arr.GetLength(1); // 2次元目(列)の長さ

サンプルコード

以下は、これらのプロパティとメソッドを組み合わせた完全なコード例です。

using System;

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

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

        // 要素の総数を取得
        Console.WriteLine(arr.Length);
        Console.WriteLine("Upper Bound: {0}",arr.GetUpperBound(0).ToString());
        Console.WriteLine("Lower Bound: {0}",arr.GetLowerBound(0).ToString());
        Console.WriteLine("Dimensions of Array : " + arr.Rank);
    }
}

実行結果

3
4
12
Upper Bound: 2
Lower Bound: 0
Dimensions of Array : 2

この実行結果から、3行4列の2次元配列に対して、GetLength(0)が「3」、GetLength(1)が「4」、Lengthが全要素数の「12」を返していることがわかります。また、Rankプロパティにより次元数が「2」であることも確認できます。

  1. C#のクラスとは?定義方法と基本構造を初心者向けに解説

    C#におけるクラスの基本的な考え方C#において、クラス(class)とは、あるデータ型の設計図(ブループリント)を定義するものです。クラスをもとにして実際に生成されたデータの実体をオブジェクト(object)と呼び、これをクラスの「インスタンス」といいます。また、クラスを構成するメソッドや変数は、まとめてクラスのメンバー(members)と呼ばれます。クラスを理解することは、オブジェクト指向プログラミングを学ぶ上で最も重要な第一歩となります。クラス定義の一般的な書式クラスの定義は、キーワード class から始まり、その後にクラス名を記述します。そして、波括弧 { } で囲まれた部分がクラスの

  2. C#のクラスにおけるメンバー変数とは?意味と使い方を徹底解説

    C#におけるクラスとメンバー変数の基本C#において、クラスはメンバー変数(フィールド)とメソッド(関数)を含む「設計図」であり、そこから生成されるオブジェクトの状態や振る舞いを定義するものです。まずはクラスの基本構文を確認し、メンバー変数がどのように宣言されるのかを見ていきましょう。クラスの基本構文<アクセス修飾子> class クラス名 {    // メンバー変数    <アクセス修飾子> <データ型> 変数1;    <アクセス