C# 配列クラス


 
Array クラスは、C# のすべての配列の基本クラスであり、配列要素の並べ替え、配列内の指定された要素の検索など、配列を処理するための一連の操作を提供します。

 

Array クラスのシグネチャは次のようになります。

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public abstract class Array : ICloneable, IList, ICollection,  
IEnumerable, IStructuralComparable, IStructuralEquatable 

Array クラスのプロパティ

Array クラスは、配列に関するさまざまな情報を取得できる一連のプロパティを提供します。 Array クラスで一般的に使用されるプロパティを次の表に示します。

属性 説明
IsFixedSize 配列が固定サイズかどうかを確認します
IsReadOnly 配列が読み取り専用かどうかを確認する
IsSynchronized  アレイへのアクセスが同期されているかどうかを確認します (スレッドセーフ)
Length 配列のすべての次元の要素の合計数を取得します
LongLength 配列のすべての次元の要素の合計数を取得し、64 ビット整数を返します。
Rank 配列のランク (次元) を取得します。たとえば、1 次元配列は 1 を返し、2 次元配列は 2 を返します。
SyncRoot 配列へのアクセスを同期するために使用できるオブジェクトを取得するために使用されます。

Array クラスのメソッド

属性に加えて、Array クラスには、次の表に示す一連のメソッドも提供されます。

方法 説明
Clear(Array, Int32, Int32) 配列内の指定された範囲の要素を、その要素が属する型のデフォルト値に設定します。
Copy(Array, Array, Int32) 配列から指定された長さの要素をコピーし、コピーする長さを指定する 32 ビット整数を使用して、別の配列に貼り付けます (最初の要素から貼り付けます)。
CopyTo(Array, Int32) 現在の 1 次元配列のすべての要素を、指定されたターゲット配列のインデックスから始まる指定された 1 次元配列にコピーします。インデックスは 32 ビット整数で指定されます。
GetLength 配列の指定された次元の要素の数を取得し、32 ビット整数を返します。
GetLongLength 配列の指定された次元の要素の数を取得し、64 ビット整数を返します。
GetLowerBound 配列内の指定された次元の最初の要素のインデックスを取得します
GetType 現在のインスタンスのタイプを取得します (Object から継承)
GetUpperBound 配列内の指定された次元の最後の要素のインデックスを取得します
GetValue(Int32) 1次元配列内の指定された位置の値を取得します。
IndexOf(Array, Object) 1 次元配列で指定されたオブジェクトを検索し、最初に出現したオブジェクトのインデックスを返します。
Reverse(Array) 1D 配列全体の要素の順序を逆にします。
SetValue(Object, Int32) 指定された要素の値を 1 次元配列に設定します。
Sort(Array) 1次元配列内の要素をソートする
ToString() 現在のオブジェクトを表す文字列を返します (Object から継承)

Array クラスのプロパティとメソッドについて詳しく知りたい場合は、C# の公式ドキュメントを参照してください。

[例] Array クラスのプロパティとメソッドの使用例を示します。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            // 配列を作成し、値を割り当てます 
            int[] arr = new int[6] {15, 33, 29, 55, 10, 11 }; 
            // 空の配列を作成します
            int[] arr2 = new int[6]; 
            // 配列の長さを取得します
            Console.WriteLine("配列arrの長さは:"+arr.Length); 
            // 配列を並べ替えます
            Array.Sort(arr); 
            Console.Write("並べ替えた配列arrは:"); 
            // 並べ替えたarrを出力します
            PrintArray(arr); 
            // 配列要素のインデックスを検索します
            Console.WriteLine("\n配列arrの中の値29の要素のインデックスは:"+Array.IndexOf(arr,29)); 
            // arrをarr2にコピーします
            Array.Copy(arr, arr2, arr.Length); 
            Console.Write("配列arr2を出力します:"); 
            // arr2を出力します
            PrintArray(arr2); 
            Array.Reverse(arr); 
            Console.Write("\narrを反転させた配列arr: "); 
            PrintArray(arr); 
        } 
        // 配列要素を走査する
        static void PrintArray(int[] arr) 
        { 
            foreach (Object elem in arr) 
            { 
                Console.Write(elem+" "); 
            } 
        } 
    }
} 

「 C# 配列クラス」についてわかりやすく解説!絶対に観るべきベスト2動画

【9分で解説】はじめてのC# 丁寧に学ぶC#入門⑭【配列】