Шаг 194.
Язык программирования C#. Начала.
Перечисления и структуры. Массив экземпляров структуры

    На этом шаге мы рассмотрим создание и использование такого массива.

    Некоторый практический интерес может представлять ситуация, когда создается массив экземпляров структуры. Рассмотрим программу, представленную ниже.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace pr194_1
{
    // Структура: 
    struct MyStruct { 
        public int code;
    }

    // Класс с главным методом: 
    class Program
    {
        // Главный метод:
        static void Main()
        {
            // Размер массива: 
            int size = 7;
            // Создание массива из экземпляров структуры:
            MyStruct[] A = new MyStruct[size];
            // Перебор экземпляров структуры в массиве: 
            for(int k = 0; k < A.Length; k++) {
                // Полю экземпляра присваивается значение:
                A[k].code = 2 * k + 1;
                // Отображается значение поля экземпляра:
                Console.Write("|" + A[k].code);
            }
            Console.WriteLine("|");
            // Задержка:
            Console.ReadLine();
        }
    }
}
Архив проекта можно взять здесь.

    Результат выполнения программы следующий:


Рис.1. Результат выполнения программы

    Программа очень простая. В ней описана структура MyStruct, в которой всего одно открытое целочисленное поле code. В методе Main() с помощью команды

  MyStruct[] A = new MyStruct[size];
создается массив из экземпляров структуры (переменной size предварительно присвоено значение 7). Элементами созданного массива являются экземпляры структуры MyStruct. Поле code каждого из экземпляров не инициализировано. Поэтому после создания массива мы присваиваем значения полю code каждого из экземпляров. Для этого запускается конструкция цикла с индексной переменной k. Количество элементов в массиве определяем выражением A.Length. При заданном значении индекса k обращение к экземпляру структуры выглядит как A[k], а обращение к полю code такого экземпляра выполняется в формате A[k].code. В экземпляры структуры записываются нечетные числа, которые затем отображаются в консольном окне.

    На следующем шаге мы рассмотрим структуры и метод ToString().




Предыдущий шаг Содержание Следующий шаг