C#文法 – 配列

C#入門

 
 
■C#の配列
 
配列は、同一のデータ型の集合で、添え字を使って個別の要素を制御できます。
※C#の配列は、Zero-based Arrayです。(要素の添え字が「0」から始まる)
 
配列の例を見てみましょう。

// 一次元配列
string[] Arr01 = new string[100];
string[] Arr02 = { “りんご”, “みかん”, “バナナ” };

// 二次元配列
string[,] Arr11 = {{“営業部”, “営業太郎”},{“経理部”, “経理太郎”}};

// 三次元配列
string[,,] Arr21;

 
 
■C#の可変配列
 
多次元配列の各次元ごとに要素のサイズが同じRectangular配列は、[ , ]のようにカンマで分けて多次元を表します。だが、各次元ごとのサイズが異なる可変配列(Jagged Array)の場合は、[][]のように各次元ごとに分けます。

// 可変配列(Jagged Array)
// 一次元の大きさはコンパイル時に確定されないといけない
int[][] Arr = new int[3][];

// 各要素内に大きさの異なる配列を入れることも可能
Arr[0] = new int[2];
Arr[1] = new int[3] { 1, 2, 3 };
Arr[2] = new int[4] { 1, 2, 3, 4 };

Arr[0][0] = 1;
Arr[0][1] = 2;

 
 
■C#の配列を使ってみよ
 
C#の配列は、内部的に.NET FrameworkSystem.Arrayから派生されたものです。なので、System.Arrayのメッソドやプロパティを使うことができます。
 
下記の例でnames配列のサイズを取得するためにLengthを使ってますが、これはSystem.Arrayクラスに定義されている属性です。

static void Main(string[] args)
{
 int cnt = 0;
 string[] names = { “A”, “B”, “C”, “D”, “E” };
 for (int i = 0; i < names.Length; i++)  {   cnt += names[i];  }  Console.WriteLine(cnt); }

 
 
■C#の配列を受け渡し
 
配列の受け渡しは、渡す側では配列の名を使い、受ける側では同じ型の配列で受けます。
C#の配列はReference型のため、配列を別のオブジェクトや関数に渡す場合は、配列のデータを複写するのではなく、配列全体を示す参照値(Reference pointer)のみ渡します。

static void Main(string[] args)
{   
 string[] names = { “A”, “B”, “C”, “D”, “E” };
 int cnt = CalculateSum(names); // 配列を渡す側
 Console.WriteLine(cnt);  
}

static int CalculateSum(string[] namesArray) // 配列を受ける側
{
 int cnt = 0;
 for (int i = 0; i < namesArray.Length; i++)  {   cnt += namesArray[i];  }  return cnt; }

 
 
 
 

当サイトは広告を含めています。広告のクリックによる収益は全て当サイトの管理、維持、コンテンツ製作に使われます。

 

Team ladybird
タイトルとURLをコピーしました