Найти тему

C# Урок 16. Записи

Оглавление

Запись — это структура данных, представляющая собой совокупность объектов (в простейшем случае переменных) возможно разных типов.

Структуру записи, количество элементов (полей) и их тип, определяет тип записи. Чтобы программист мог использовать запись, он сначала должен описать (объявить) ее структуру.

Объявление структуры записи

Объявление структуры записи выглядит так:

struct Name
{
тип1 имя1;
тип2 имя2;
типK имяK;
}

где:

  • struct - зарезервированное слово языка программирования означающее, что далее следует объявление структуры
    Name - имя структуры
  • типi — тип i-го элемента записи (тип поля).
  • имяi — имя элемента записи (имя поля)

Примеры объявления структур

struct TBook
{
string Title;
string Author;
single Price;
int Amount;
}

struct TMatetial
{
string Title;
double Density;
}

Запись

После того, как структура объявлена, можно объявить запись.
Объявление записи выглядит так:

тип имя;

где:

  • тип - тип записи (структуры);
  • имя - имя записи (структуры).

Например:

TBook myBook;
TMaterial aMaterial;

В отличие от "обычной" переменной, переменная-запись, для того, чтобы ее можно было использовать в программе, должна быть создана. Инструкция создания записи (выделения памяти) выглядит так:

имя = new тип();

где:

  • имя - имя записи;
  • тип - тип записи.

Пример:

myBook = new TBook();
aMaterial =
new TMaterial();

Инструкции объявления и создания записи можно объединить в одну.

Пример:

TBook myBook = new TBook;
TMaterial aMaterial =
new TMaterial;

Доступ к полю записи

Чтобы получить доступ к полю записи, надо указать имя записи и, через точку, имя поля.

Пример:

myBook.Author = "Никита Культин";
myBook.Title = "С# для начинающих";
myBook.Price = 349;
Console.Writeln("{0,-15} {1,-35} {2:n}",
myBook.Author, myBook.Title, myBook.Price);

mas = volume * aMaterial.Density;

Массив записей

Объявление массива записей (массива структур) выглядит так:

тип[] имя;

где:

  • тип - тип записей, из которых состоит массив;
  • имя - имя массива.

Например:

TBook[] Books; // массив записей (структур) TBook
TMaterial[] Materials; // массив записей (структур) TMaterial

Как и "обычный" массив, массив записей, после его объявления, должен быть создан (выделена память для массива).

Например:

Books = new TBook[25];
Materials =
new TMaterial[10];

Инструкции объявления и создания массива записей можно объединить в одну.

Например:

TBook Books = new TBook[25];
TMaterial Materials =
new TMaterial[10];

В инструкции создания массива записей размер массива можно задать при помощи переменной целого типа. Например, приведенное выше объявление массива Books можно переписать так:

int n = 25; // размер массива
TBook Books = new TBook[n];

Чтобы получить доступ к полю записи, находящейся в массиве, надо указать имя массива, номер записи и имя нужного поля записи. Номер записи указывается в квадратных скобках после имения массива, а имя поля после закрывающей квадратной скобки через точку.

Примеры:

Books[0].Author = "Никита Культин";
Books[0].Title = "С# для начинающих";
Books[0].Price = 349;

for (int i =0; i < Materials.Length; i++)
Console.Writeln("{0,-25} {2:n,9}", Materials[i].Title, Materials[i].Density);

mas = volume * Materials[3].Density;

Задание

Напишите программу вычисления массы стержня. Таблицу плотностей материалов представьте в программе как массив записей. Выбор материала должен выполняться путем указания его номера в списке.

Литература

Никита Культин Самоучитель С# для начинающих
Никита Культин Самоучитель C#