本コンテンツはプロモーションが含まれます。

配列操作(Arrayクラス)

スポンサーリンク
スポンサーリンク

Arrayクラスとは

 C#のArrayクラスは、固定サイズのデータコレクションを扱うための基本的なデータ構造です。配列は同じデータ型の要素を格納し、インデックスを使用してアクセスします。

特徴としては以下の様なものがあげられます。

 ・固定サイズ: 配列は作成時にサイズが決まり、その後変更できません。(変更したい場合はResizeメソッドを使用します)
 ・インデックスアクセス: 配列の各要素には0から始まるインデックスでアクセスします。
 ・多次元配列: 一次元配列だけでなく、二次元配列や三次元配列などもサポートしています。

メソッド類

Arrayクラスには以下の静的メソッドが用意されています。メソッドの引数のTは配列要素の型を示しています。

 

メソッド 概要
BinarySeatch(T[] array,T v) 整列済みの配列arrayから値vを検索する。(二分探索)

Clear(Array a,int index,int len)

配列aのindex番目からlen個の要素に既定値を設定する
Copy(Array a,int indexA,Array b,int indexB,int len)

配列aの指定範囲の要素を配列bにコピーする(引数indexAはコピー元の開始位置、indexBはコピー先の開始位置、lenはコピーする要素数)

Resize(ref T[] a,int size) 配列aのサイズをsizeに変更する
Reverse(Array a) 配列aの並び順を逆にする

Sort(T[] array)

配列arrayをソートする

それぞれの使用方法は以下の通りです。

string[] sArray = new string[5];//初期値を設定する
sArray[0] = "dog";
sArray[1] = "cat";
sArray[2] = "mouse";
sArray[3] = "fox";
sArray[4] = "lion";

Console.WriteLine(String.Join("& ", sArray));///ソート前の配列を表示する
//結果:dog & cat & mouse & fox & lion

Array.Sort(sArray);//BinarySearchを呼び出す前には必ずソートする

Console.WriteLine(String.Join("& ", sArray));//ソート後の配列を表示する
//結果:cat & dog & fox & lion & mouse

Console.WriteLine(Array.BinarySearch(sArray, "mouse"));//結果:4

Array.Resize(ref sArray, sArray.Length + 3);
Console.WriteLine(String.Join("& ", sArray));//後ろに3つ要素が追加されている
//結果:cat & dog & fox & lion & mouse & &&


string[] sArray2 = { "dog", "cat", "mouse", "fox", "lion" };//このようにすることで初期化と初期値の代入を同時に行える

string[] sArray3 = new string[5];
Array.Copy(sArray2, 1, sArray3, 1, 3);
Console.WriteLine(String.Join("& ",sArray3));
//結果:& cat& mouse& fox&

まとめ

 Arrayクラスは、固定サイズの同じ型のデータを格納するための基本的な構造です。
 配列の要素にはインデックスを使ってアクセスし、長さを取得することもできます。

 配列を操作するメソッドも様々に用意されており、ソートして二分探索を行う事も可能です。

コメント