Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык 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. Инициализировать при объявлении Jagged Array

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. С# Массивы
  2. Передача массива в функцию в программировании на C++
  3. Массивы копирования Java
  4. Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
  5. C++ динамическое выделение массивов с примером
  6. Учебное пособие по коллекциям C# с примерами
  7. Как создать массив объектов в Java
  8. MATLAB — Массивы
  9. Методы проверки массива шариковой решетки
  10. Массив наносенсоров E-Tongue