Герберт Шилдт - 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: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

public FailSoftArray(int size) {

a = new int [size];

Length = size;

}

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

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

public int Length { get; private set; }

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

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

public bool Error { get; private set; }

// Это индексатор для массива FailSoftArray.

public int this[int index] {

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

get {

if(ok(index)) {

Error = false;

return a[index];

}

else {

Error = true;

return 0;

}

}

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

set {

if(ok(index)) {

a[index] = value;

Error = false;

}

else

Error = true;

}

}

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

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

private bool ok(int index) {

if(index >= 0 & index < Length) return true;

return false;

}

}

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

//отказоустойчивого массива,

class FinalFSDemo {

static void Main() {

FailSoftArray fs = new FailSoftArray(5);

// Использовать свойство Error,

for(int i=0; i < fs.Length + 1; i++) {

fs[i] = i * 10;

if(fs.Error)

Console.WriteLine("Ошибка в индексе " + i);

}

}

}

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

На применение модификаторов доступа в аксессорах накладываются следующие ограничения. Во-первых, действию модификатора доступа подлежит только один аксессор: setили get, но не оба сразу. Во-вторых, модификатор должен обеспечивать более ограниченный доступ к аксессору, чем доступ на уровне свойства или индексатора. И наконец, модификатор доступа нельзя использовать при объявлении аксессора в интерфейсе или же при реализации аксессора, указываемого в интерфейсе. (Подробнее об интерфейсах речь пойдет в главе 12.)

Применение индексаторов и свойств

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

Как вам должно быть уже известно, индексирование всех массивов в C# начинается с нуля. Но в некоторых приложениях индексирование массива удобнее начинать с любой произвольной точки отсчета: с 1 или даже с отрицательного числа, например от -5 и до 5. Рассматриваемый здесь класс RangeArrayразработан таким образом, чтобы допускать подобного рода индексирование массивов.

Используя класс RangeArray, можно написать следующий фрагмент кода.

RangeArray ra = new RangeArray(-5, 10); // массив с индексами от -5 до 10

for(int i=-5; i <= 10; i++) ra[i] = i; // индексирование массива от -5 до 10

Нетрудно догадаться, что в первой строке этого кода конструируется объект класса RangeArray с пределами индексирования массива от -5 до 10 включительно. Первый аргумент обозначает начальный индекс, а второй — конечный индекс. Как только объект raбудет сконструирован, он может быть проиндексирован как массив в пределах от -5 до 10.

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

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

using System;

class RangeArray {

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

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

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

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;

}

a = 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;

}

}

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

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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