Герберт Шилдт - C# 4.0: полное руководство

Тут можно читать онлайн Герберт Шилдт - C# 4.0: полное руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ООО И.Д. Вильямс, год 2011. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# 4.0: полное руководство
  • Автор:
  • Жанр:
  • Издательство:
    ООО И.Д. Вильямс
  • Год:
    2011
  • Город:
    Москва -- Киев
  • ISBN:
    978-5-8459-1684-6
  • Рейтинг:
    3.93/5. Голосов: 141
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Герберт Шилдт - C# 4.0: полное руководство краткое содержание

C# 4.0: полное руководство - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.


Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок

C# 4.0: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

// задаваемыми пределами индексирования,

class RangeArrayDemo {

static void Main() {

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

RangeArray ra2 = new RangeArray(1, 10);

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

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

Console.WriteLine("Длина массива ra: " + ra.Length);

for (int i = -5; i <= 5; i++) ra[i] = i;

Console.Write("Содержимое массива ra: ");

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");

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

Console.WriteLine("Длина массива ra3: " + ra3.Length);

for (int i = -20; i <= -12; i++) ra3[i] = i;

Console.Write("Содержимое массива ra3: ");

for (int i = -20; i <= -12; i++)

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

Console.WriteLine("\n");

}

}

При выполнении этого кода получается следующий результат.

Длина массива rа: 11

Содержимое массива rа: -5 -4 -3 -2 -1 0 1 2 3 4 5

Длина массива rа2: 10

Содержимое массива rа2: 1 2 3 4 5 6 7 8 9 10

Длина массива rа3: 9

Содержимое массива ra3: -20 -19 -18 -17 -16 -15 -14 -13 -12

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

В начале класса RangeArrayобъявляются следующие закрытые переменные экземпляра.

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

int[] а; // ссылка на базовый массив

int lowerBound; // наименьший индекс

int upperBound; // наибольший индекс

Переменная аслужит для обращения к базовому массиву по ссылке. Память для него распределяется конструктором класса RangeArray. Нижняя граница индексирования массива хранится в переменной lowerBound, а верхняя граница — в переменной upperBound.

Далее объявляются автоматически реализуемые свойства Lengthи Error.

// Автоматически реализуемое и доступное

//только для чтения свойство Length,

public int Length { get; private set; }

// Автоматически реализуемое и доступное

//только для чтения свойство Error,

public bool Error { get; private set; }

Обратите внимание на то, что в обоих свойства аксессор setобозначен как private. Как пояснялось выше, такое объявление автоматически реализуемого свойства, по существу, делает его доступным только для чтения.

Ниже приведен конструктор класса RangeArray.

// Построить массив по заданному размеру,

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передается нижняя граница массива в качестве параметра low, а верхняя граница — в качестве параметра high. Затем значение параметра highинкрементируется, поскольку пределы индексирования массива изменяются от lowдо highвключительно. Далее выполняется следующая проверка: является ли верхний индекс больше нижнего индекса. Если это не так, то выдается сообщение об ошибке и создается массив, состоящий из одного элемента. После этого для массива распределяется память, а ссылка на него присваивается переменной а. Затем свойство Lengthустанавливается равным числу элементов массива. И наконец, устанавливаются переменные lowerBoundи upperBound.

Далее в классе RangeArrayреализуется его индексатор, как показано ниже.

// Это индексатор для класса 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;

}

}

Этот индексатор подобен тому, что использовался в классе FailSoftArray, за одним существенным исключением. Обратите внимание на следующее выражение, в котором индексируется массив а.

index - lowerBound

В этом выражении индекс, передаваемый в качестве параметра index, преобразуется в индекс с отсчетом от нуля, пригодный для индексирования массива а. Данное выражение действует при любом значении переменной lowerBound: положительном, отрицательном или нулевом.

Ниже приведен метод ok().

// Возвратить логическое значение true, если

// индекс находится в установленных границах,

private bool ok(int index) {

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

return false;

}

Этот метод аналогичен использовавшемуся в классе FailSoftArray, за исключением того, что в нем контроль границ массива осуществляется по значениям переменных lowerBoundи upperBound.

Класс RangeArrayдемонстрирует лишь одну разновидность специализированного массива, который может быть создан с помощью индексаторов и свойств. Существуют, конечно, и другие. Аналогичным образом можно, например, создать динамические массивы, которые расширяются или сужаются по мере надобности, ассоциативные и разреженные массивы. Попробуйте создать один из таких массивов в качестве упражнения.

ГЛАВА 11 Наследование

Наследование является одним из трех основополагающих принципов объектно-ориентированного программирования, поскольку оно допускает создание иерархических классификаций. Благодаря наследованию можно создать общий класс, в котором определяются характерные особенности, присущие множеству связанных элементов. От этого класса могут затем наследовать другие, более конкретные классы, добавляя в него свои индивидуальные особенности.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0: полное руководство отзывы


Отзывы читателей о книге C# 4.0: полное руководство, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x