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


Авторские права

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

Здесь можно скачать бесплатно "Герберт Шилдт - C# 4.0 полное руководство - 2011" в формате fb2, epub, txt, doc, pdf. Жанр: Прочая старинная литература. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Герберт Шилдт - C# 4.0 полное руководство - 2011
Рейтинг:
Название:
C# 4.0 полное руководство - 2011
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "C# 4.0 полное руководство - 2011"

Описание и краткое содержание "C# 4.0 полное руководство - 2011" читать бесплатно онлайн.








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

using System;

using System.Collections;

class StackDemo {

static void ShowPush(Stack st, int a) { st.Push(a);

Console.WriteLine("Поместить в стек: Push(" + a + ")"); Console.Write("Содержимое стека: "); foreach(int i in st)

Console.Write(i + " ");

Console.WriteLine();

}

static void ShowPop(Stack st) {

Console.Write("Извлечь из стека: Pop -> "); int a = (int) st.PopO;

Console.WriteLine(а);

Console.Write("Содержимое стека: "); foreach(int i in st)

Console.Write(i + " ");

Console.WriteLine();

}

static void Main() {

Stack st = new Stack ();

foreach(int i in st)

Console.Write(i + " ");

Console.WriteLine();

ShowPush(st, 22);

ShowPush(st, 65);

ShowPush(st, 91);

ShowPop(st);

ShowPop(st);

ShowPop(st) ;

try {

ShowPop(st) ;

} catch (InvalidOperationException) { Console.WriteLine("Стек пуст.");

}

} .

}

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

Поместить в стек: Push(22)

Содержимое стека: 22 Поместить в стек: Push(65)

Содержимое стека: 65 22 Поместить в стек: Push (91)

Содержимое стека: 91 65 22 Извлечь из стека: Pop -> 91 Содержимое стека: 65 22 Извлечь из стека: Pop -> 65 Содержимое стека: 22 Извлечь из стека: Pop -> 22 Содержимое стека:

Извлечь из стека: Pop -> Стек пуст.

Класс Queue

Еще одной распространейной структурой данных является очередь, действующая по принципу: первым пришел — первым обслужен. Это означает, что первым из очереди извлекается элемент, помещенный в нее первым. Очереди часто встречаются в

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

Класс коллекции, поддерживающий очередь, носит название Queue. В нем реализуются интерфейсы ICollection, IEnumerable и ICloneable. Этот класс создает динамическую коллекцию, которая расширяется, если в ней необходимо хранить вводимые элементы. Так, если в очереди требуется свободное место, ее размер увеличивается на коэффициент роста, который по умолчанию равен 2,0.

В классе Queue определяются приведенные ниже конструкторы.

public Queue()

public Queue (int capacity)

public Queue (int capacity, float growFactor) public Queue (ICollection col)

В первой форме конструктора создается пустая очередь с выбираемыми по умолчанию емкостью и коэффициентом роста 2,0. Во второй форме создается пустая очередь, первоначальный размер которой определяет емкость, задаваемая параметром capaci ty, а коэффициент роста по умолчанию выбирается для нее равным 2,0. В третьей форме допускается указывать не только емкость (в качестве параметра capaci ty), но и коэффициент роста создаваемой очереди (в качестве параметра growFactor в пределах от 1,0 до 10,0). И в четвертой форме создается очередь, состоящая из элементов указываемой коллекции col. Ее первоначальная емкость равна количеству указанных элементов, а коэффициент роста по умолчанию выбирается для нее равным 2,0.

В классе Queue определяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.8. Эти методы обычно применяются следующим образом. Для того чтобы поместить объект в очередь, вызывается метод Enqueue (). Если требуется извлечь' и удалить первый объект из начала очереди, то вызывается метод Dequeue (). Если же требуется извлечь, но не удалять следующий объект из очереди, то вызывается метод Реек (). А если методы DequeueO иРеек() вызываются, когда очередь пуста, то генерируется исключение InvalidOperationException.

Таблица 25.8. Наиболее часто используемые методы, определенные в классе Queue

Метод

Описание

public virtual void Clear()

public virtual bool Contains(object obj)

public virtual object Dequeue()

public virtual void Enqueue(object obj)

Устанавливает свойство Count равным нулю, очищая, по существу, очередь

Возвращает логическое значение true, если объект obj содержится в вызывающей очереди, а иначе — логическое значение false Возвращает объект из начала вызывающей очереди. Возвращаемый объект удаляется из очереди Добавляет объект obj в конец очереди

Окончание табл. 25.8

Метод

Описание

public virtual object Peek()

public static Queue Synchronized(Queue queue)

public virtual object[] ToArray()

public virtual void TrimToSize()

Возвращает объект из начала вызывающей очереди, но не удаляет его

Возвращает синхронизированный вариант коллекции типа Queue, передаваемой в качестве параметра queue

Возвращает массив, который содержит копии элементов из вызывающей очереди Устанавливает значение свойства Capacity равным значению свойства Count

В приведенном ниже примере программы демонстрируется применение класса

Queue.

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

using System;

using System.Collections;

class QueueDemo {

static void ShowEnq(Queue q, int a) { q.Enqueue(a) ;

Console.WriteLine("Поместить в очередь: Enqueue(" + a + ")");

Console.Write("Содержимое очереди: "); foreach(int i in q)

Console.Write(i + " ");

Console.WriteLine() ;

}

static void ShowDeq(Queue q) {

Console.Write("Извлечь из очереди: Dequeue -> "); int a = (int) q.Dequeue();

Console.WriteLine(a);

Console.Write("Содержимое очереди: "); foreach(int i in q)

Console.Write(i + " ") ;

Console.WriteLine();

}

static void Main() {

Queue q = new Queue();

foreach(int i in q)

Console.Write(i + " ");

ShowEnq(q, 22);

ShowEnq(q, 65);

ShowEnq(q, 91);

ShowDeq(q);

ShowDeq(q);

ShowDeq(q);

try {

ShowDeq (q);

} catch (InvalidOperationException) { Console.WriteLine("Очередь пуста.");

}

}

}

Эта программа дает следующий результат.

Поместить в очередь: Enqueue(22)

Содержимое очереди: 22 Поместить в очередь: Enqueue(65)

Содержимое очереди: 22 65 Поместить в очередь: Enqueue(91)

Содержимое очереди: 22 65 91 Извлечь из очереди: Dequeue -> 22 Содержимое очереди: 65 91 Извлечь из очереди: Dequeue -> 65 Содержимое очереди: 91 Извлечь из очереди: Dequeue -> 91 Содержимое очереди:

Извлечь из очереди: Dequeue -> Очередь пуста.

Хранение отдельных битов в классе коллекции BitArray

Класс BitArray служит для хранения отдельных битов в коллекции. А поскольку в коллекции этого класса хранятся биты, а не объекты, то своими возможностями он отличается от классов других коллекций. Тем не менее в классе BitArray реализуются интерфейсы ICollection и IEnumerable как основополагающие элементы поддержки всех типов коллекций. Кроме того, в классе BitArray реализуется интерфейс ICloneable.

В классе BitArray определено несколько конструкторов. Так, с помощью приведенного ниже конструктора можно сконструировать объект типа BitArray из массива логических значений.

public BitArray(bool[] values)

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

Коллекцию типа BitArray можно также составить из массива байтов, используя следующий конструктор.

Здесь битами в коллекции становится уже целый их набор из массива bytes, причем элемент bytes [ 0 ] обозначает первые 8 битов, элемент bytes [ 1 ] — вторые 8 битов и т.д. Аналогично, коллекцию типа Bit Array можно составить из массива целочисленных значений, используя приведенный ниже конструктор.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "C# 4.0 полное руководство - 2011"

Книги похожие на "C# 4.0 полное руководство - 2011" читать онлайн или скачать бесплатно полные версии.


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

Все книги автора Герберт Шилдт

Герберт Шилдт - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Герберт Шилдт - C# 4.0 полное руководство - 2011"

Отзывы читателей о книге "C# 4.0 полное руководство - 2011", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.