Csharp-arrays

提供:Dev Guides
移動先:案内検索

C#-配列

配列には、同じタイプの要素の固定サイズの順次コレクションが格納されます。 配列はデータのコレクションを格納するために使用されますが、配列を連続したメモリ位置に格納された同じタイプの変数のコレクションと考える方が便利な場合があります。

number0、number1、…​、number99などの個々の変数を宣言する代わりに、numbersなどの1つの配列変数を宣言し、numbers [0]、numbers [1]、…​、numbers [99]を使用して表現します個々の変数。 配列内の特定の要素は、インデックスによってアクセスされます。

すべての配列は、連続したメモリ位置で構成されています。 最下位アドレスは最初の要素に対応し、最上位アドレスは最後の要素に対応します。

C#の配列

配列の宣言

C#で配列を宣言するには、次の構文を使用できます-

datatype[] arrayName;

どこで、

  • _datatype_は、配列内の要素のタイプを指定するために使用されます。
  • _ [] _は、配列のランクを指定します。 ランクは、配列のサイズを指定します。
  • _arrayName_は、配列の名前を指定します。

例えば、

double[] balance;

配列の初期化

配列を宣言しても、メモリ内の配列は初期化されません。 配列変数が初期化されると、配列に値を割り当てることができます。

配列は参照型であるため、 new キーワードを使用して配列のインスタンスを作成する必要があります。 例えば、

double[] balance = new double[10];

配列への値の割り当て

次のようなインデックス番号を使用して、個々の配列要素に値を割り当てることができます-

double[] balance = new double[10];
balance[0] = 4500.0;

あなたが示すように、宣言時に配列に値を割り当てることができます-

double[] balance = { 2340.0, 4523.69, 3421.0};

また、示されているように、配列を作成および初期化することができます-

int [] marks = new int[5]  { 99,  98, 92, 97, 95};

また、示されているように、配列のサイズを省略することができます-

int [] marks = new int[]  { 99,  98, 92, 97, 95};

配列変数を別のターゲット配列変数にコピーできます。 そのような場合、ターゲットとソースの両方が同じメモリ位置を指します-

int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

配列を作成すると、C#コンパイラは各配列要素を配列タイプに応じてデフォルト値に暗黙的に初期化します。 たとえば、int配列の場合、すべての要素は0に初期化されます。

配列要素へのアクセス

配列名にインデックスを付けることにより、要素にアクセスします。 これは、配列の名前の後に角かっこ内に要素のインデックスを配置することによって行われます。 例えば、

double salary = balance[9];

次の例は、上記の概念の宣言、割り当て、および配列へのアクセスを示しています-

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10];/*n is an array of 10 integers*/
         int i,j;

        /*initialize elements of array n*/
         for ( i = 0; i < 10; i++ ) {
            n[ i ] = i + 100;
         }

        /*output each array element's value*/
         for (j = 0; j < 10; j++ ) {
            Console.WriteLine("Element[{0}] = {1}", j, n[j]);
         }
         Console.ReadKey();
      }
   }
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

_foreach_ループの使用

前の例では、各配列要素にアクセスするためにforループを使用しました。 foreach ステートメントを使用して、配列を反復処理することもできます。

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10];/*n is an array of 10 integers*/

        /*initialize elements of array n*/
         for ( int i = 0; i < 10; i++ ) {
            n[i] = i + 100;
         }

        /*output each array element's value*/
         foreach (int j in n ) {
            int i = j-100;
            Console.WriteLine("Element[{0}] = {1}", i, j);
         }
         Console.ReadKey();
      }
   }
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

C#配列

C#プログラマーに明らかな配列に関連するいくつかの重要な概念があります-

Sr.No. Concept & Description
1

Multi-dimensional arrays

C#は多次元配列をサポートしています。 多次元配列の最も単純な形式は、2次元配列です。

2

Jagged arrays

C#は、配列の配列である多次元配列をサポートしています。

3

Passing arrays to functions

インデックスなしで配列の名前を指定することで、関数に配列へのポインタを渡すことができます。

4

Param arrays

これは、不明な数のパラメーターを関数に渡すために使用されます。

5

The Array Class

System名前空間で定義され、すべての配列の基本クラスであり、配列を操作するためのさまざまなプロパティとメソッドを提供します。