Читаем C# 4.0 полное руководство - 2011 полностью

/* Создать класс со специально указываемыми пределами индексирования массива. Класс RangeArray допускает индексирование массива с любого значения, а не только с нуля. При создании объекта класса RangeArray указываются начальный и конечный индексы. Допускается также указывать отрицательные индексы. Например, можно создать массивы, индексируемые от -5 до 5, от 1 до 10 или же от 50 до 56. */

using System;

class RangeArray {

// Закрытые данные.

int[] а; // ссылка на базовый массив int lowerBound; // наименьший индекс int upperBound; // наибольший индекс

// Автоматически реализуемое и доступное только для чтения свойство Length, public int Length { get; private set; }

// Автоматически реализуемое и доступное только для чтения свойство Error, public bool Error { get; private set; }

// Построить массив по заданному размеру, public RangeArray(int low, int high) { high++;

if (high <= low) {

Console.WriteLine("Неверные индексы");

high =1; // создать для надежности минимально допустимый массив low = 0;

}

а = new int[high - low];

Length = high - low;

lowerBound = low; upperBound = --high;

// Это индексатор для класса RangeArray. public int this[int index] {

// Это аксессор get. get {

if(ok(index))    {

Error = false;

return a[index - lowerBound];

} else {

Error = true; return 0;

}

}

// Это аксессор set. set {

if(ok(index))    {

a[index - lowerBound] = value;

Error = false;

}

else Error = true;

}

}

// Возвратить логическое значение true, если // индекс находится в установленных границах, private bool ok(int index) {

if(index >= lowerBound & index <= upperBound) return true; return false;

}

}

// Продемонстрировать применение массива с произвольно // задаваемыми пределами индексирования, class RangeArrayDemo { static void Main {

RangeArray ra = new RangeArray(-5, 5);

RangeArray ra2 = new RangeArray(1, 10);

RangeArray ra3 = new RangeArray(-20, -12);

// Использовать объект га в качестве массива.

Console.WriteLine("Длина массива га: " + га.Length); for(int i = -5; i <= 5; i++)

га[i] = i;

Console.Write("Содержимое массива га: "); for(int i = -5; i <= 5; i++)

Console.Write(ra[i] + " ");

Console.WriteLine("\n");

// Использовать объект ra2 в качестве массива.

Console.WriteLine("Длина массива га2: " + ra2.Length); for(int i = 1; i <= 10; i++) ra2[i] = i;

Console.Write("Содержимое массива ra2: "); for(int i = 1; i <= 10; i++)

Console.Write(ra2[i] + " ") ;

Console.WriteLine("\n") ;

// Использовать объект гаЗ в качестве массива.

Console.WriteLine("Длина массива гаЗ: " + гаЗ.Length); for(int i = -20; i <= -12; i++) ra3[i] = i;    >

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT