工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# ジャグ配列

C# ジャグ配列

このチュートリアルでは、C# のジャグ配列について学習します。例を使って、ジャグ配列の宣言、初期化、およびアクセスを学びます。

C# では、ジャグ配列は複数の配列を要素として構成されます。ただし、多次元配列とは異なり、ジャグ配列内の各配列は異なるサイズにすることができます。

ジャグ配列について学ぶ前に、


C# ジャグ配列宣言

C# でジャグ配列を宣言する構文は次のとおりです。

dataType[ ][ ] nameOfArray = new dataType[rows][ ];

例を見てみましょう。

// declare jagged array
int[ ][ ] jaggedArray = new int[2][ ];

ここで、

ジャグ配列の各要素も配列であることがわかっているため、個々の配列のサイズを設定できます。たとえば、

// set size of the first array as 3
jaggedArray[0] = new int[3];

// set size of second array as 2
jaggedArray[1] = new int[2];

ジャグ配列の初期化

ジャグ配列を初期化するには、さまざまな方法があります。たとえば、

<強い>1.インデックス番号の使用

ジャグ配列を宣言したら、インデックス番号を使用して初期化できます。たとえば、

// initialize the first array
jaggedArray[0][0] = 1;
jaggedArray[0][1] = 3;
jaggedArray[0][2] = 5;

// initialize the second array
jaggedArray[1][0] = 2;
jaggedArray[1][1] = 4;

ここで、

<強い>2.配列要素のサイズを設定せずに初期化

// declaring string jagged array
int[ ][ ] jaggedArray = new int[2] [ ];

// initialize each array
jaggedArray[0] = new int[] {1, 3, 5};
jaggedArray[1] = new int[] {2, 4};

<強い>3.ジャグ配列宣言時の初期化

int[ ][ ] jaggedArray = {
    new int[ ] {10, 20, 30},
    new int[ ] {11, 22},
    new int[ ] {88, 99}
};

ジャグ配列の要素へのアクセス

インデックス番号を使用して、ジャグ配列の要素にアクセスできます。たとえば、

// access first element of second array
jaggedArray[1][0];

// access second element of the second array
jaggedArray[1][1];

// access second element of the first array
jaggedArray[0][1];

例:C# ジャグ配列

using System;

namespace JaggedArray {
  class Program {
    static void Main(string[] args) {

     // create a jagged array
     int[ ][ ] jaggedArray = {
         new int[] {1, 3, 5},
         new int[] {2, 4},
      };

     // print elements of jagged array
     Console.WriteLine("jaggedArray[1][0]: " + jaggedArray[1][0]);
     Console.WriteLine("jaggedArray[1][1]: " + jaggedArray[1][1]);

     Console.WriteLine("jaggedArray[0][2]: " + jaggedArray[0][2]);

     Console.ReadLine();
    }    
  }
}

出力

jaggedArray[1][0]: 2
jaggedArray[1][1]: 4
jaggedArray[0][2]: 5

ここでは、ギザギザの配列の中で、


ジャグ配列の繰り返し

C# では、ループを使用して、ジャグ配列の各要素を反復処理できます。たとえば、

using System;

namespace JaggedArray {
  class Program {
    static void Main(string[] args) {

      // declare a jagged array
      int[][] jaggedArray = new int[2][];

      // set size of Jagged Array Elements
      jaggedArray[0] = new int[3];
      jaggedArray[1] = new int[2];

      // initialize the first array
      jaggedArray[0][0] = 1;
      jaggedArray[0][1] = 3;
      jaggedArray[0][2] = 5;

      // initialize the second array
      jaggedArray[1][0] = 2;
      jaggedArray[1][1] = 2;
      	 
      // outer for loop
      for (int i = 0; i < jaggedArray.Length; i++) {

        Console.Write("Element "+ i +": ");
        // inner for loop
        for (int j = 0; j < jaggedArray[i].Length; j++) {
          Console.Write(jaggedArray[i][j] + " ");
         }
      Console.WriteLine();
      }
      Console.ReadLine();
    } 
  }
}

出力

Element 0: 1 3 5
Element 1: 2 2

上記の例では、ネストされた for ループを使用して、ジャグ配列を反復処理しました。ここで、

<強い>1.外側の for ループ

<強い>2.内部 for ループ


多次元配列によるジャグ配列

C# では、多次元配列をジャグ配列要素として使用することもできます。たとえば、

int[ ][ , ] jaggedArrayTwoD = new int[2][ , ] {
    	new int[,] { {1, 8}, {6, 7} },
    	new int[,] { {0, 3}, {5, 6}, {9, 10} }
};

ここで、ジャグ配列の各要素は多次元配列です:

例を見てみましょう。

using System;

namespace JaggedArray  {
  class Program {
    static void Main(string[] args)  {
  	 
      // declare and initialize jagged array with 2D array
      int[][,] jaggedArray = new int[3][ , ]  {
          new int[ , ] { {1, 8}, {6, 7} },
          new int[ , ] { {0, 3}, {5, 6}, {9, 10} },
          new int[ , ] { {11, 23}, {100, 88}, {0, 10} }
      };

      Console.WriteLine(jaggedArray[0][0, 1]);
      Console.WriteLine(jaggedArray[1][2, 1]);
      Console.WriteLine(jaggedArray[2][1, 0]);

      Console.ReadLine();
    }    
  }
}

出力

8
10
100

上記の例のコードに注目してください。

jaggedArray[0][0, 1]

ここで、


C言語

  1. C# 配列
  2. C# 多次元配列
  3. C++ プログラミングで配列を関数に渡す
  4. Java コピー配列
  5. C++ の配列 |宣言する |初期化 |配列へのポインタの例
  6. 例による配列の C++ 動的割り当て
  7. 例を含む C# コレクションのチュートリアル
  8. Java でオブジェクトの配列を作成する方法
  9. MATLAB-配列
  10. ボールグリッドアレイ検査技術
  11. E-Tongueナノセンサーアレイ