» » » » Герберт Шилдт - 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" читать бесплатно онлайн.








HashSet<T> имеет динамический характер и расширяется по мере необходимости, чтобы вместить все элементы, которые должны в ней храниться.

Ниже перечислены наиболее употребительные конструкторы, определенные в классе HashSet<T>.

public -HashSetO

public HashSet(IEnumerable<T> collection) public HashSet(IEqualityCompare comparer)

public HashSet(IEnumerable<T> collection, IEqualityCompare comparer)

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

В классе HashSet<T> реализуется интерфейс ISet<T>, а следовательно, в нем предоставляется полный набор операций со множествами. В этом классе предоставляется также метод RemoveWhere (), удаляющий из множества элементы, не удовлетворяющие заданному условию, или предикату.

Помимо свойств, определенных в интерфейсах, которые реализуются в классе HashSet<T>, в него введено дополнительное свойство Comparer, приведенное ниже.

public IEqualityComparer<T> Comparer { get; }

Оно позволяет получать метод сравнения для вызывающего хеш-множества.

Ниже приведен конкретный пример применения класса HashSet<T>.

// Продемонстрировать применение класса HashSet<T>. using System;

using System.Collections.Generic;

class HashSetDemo {

static void Show(string msg, HashSet<char> set) {

Console.Write(msg); foreach(char ch in set)

Console.Write(ch + " ");

Console.WriteLine ();

}

static void Main() {

HashSet<char> setA = new HashSet<char> ();

HashSet<char> setB = new HashSet<char> ();

setA.Add('A'); setA.Add(' В'); setA.Add('C') ;

setB.Add('С') ; setB.Add(' D1 );

setB.Add('Е');

Show("Исходное содержимое множества setA: ", setA);

Show("Исходное содержимое множества setB: ", setB);

setA.SymmetricExceptWith(setB);

Show("Содержимое множества setA после " +

"разноименности со множеством SetB: ", setA);

setA.UnionWith(setB);

Show("Содержимое множества setA после " +

"объединения со множеством SetB: ", setA);

setA.ExceptWith(setB);

Show("Содержимое множества setA после " +

"вычитания из множества setB: ", setA);

Console.WriteLine();

}

}

Ниже приведен результат выполнения программы из данного примера.

Исходное содержимое множества setA: ABC Исходное содержимое множества setB: С D Е

Содержимое множества setA после разноименности со множеством SetB: А В D Е Содержимое множества setA после объединения со множеством SetB: А В D Е С Содержимое множества setA после вычитания из множества setB: А В

Класс SortedSet<T>

Класс SortedSet<T> представляет собой новую разновидность коллекции, введенную в версию 4.0 среды .NET Framework. В нем поддерживается коллекция, реализующая отсортированное множество. В классе SortedSet<T> реализуются интерфейсы ISet<T>, ICollection, ICollection<T>, IEnumerable, IEnumerable<T>, ISerializable, а также IDeserializationCallback. В коллекции типа SortedSet<T> реализуется множество, все элементы которого являются уникальными. Иными словами, дубликаты в таком множестве не допускаются. В классе SortedSet<T> определяется полный набор операций с множеством, определенных в интерфейсе ISet<T>, включая пересечение, объединение и разноименность. Благодаря тому что все элементы коллекции типа SortedSet<T> сохраняются в отсортированном порядке, класс SortedSet<T> оказывается идеальным средством для работы с отсортированными множествами объектов. Коллекция типа SortedSet<T> имеет динамический характер и расширяется по мере необходимости, чтобы вместить все элементы, которые должны в ней храниться.

Ниже перечислены четыре наиболее часто используемые конструктора, определенных в классе SortedSet<T>.

public SortedSetO

public SortedSet(IEnumerable<T> collection) public SortedSet(IComparer comparer)

public SortedSet(IEnumerable<T> collection, IComparer comparer)

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

В классе SortedSet<T> реализуется интерфейс ISet<T>, а следовательно, в нем предоставляется полный набор операций со множествами. В этом классе предоставляется также метод GetViewBetween (), возвращающий часть множества в форме объекта типа SortedSet<T>, метод RemoveWhere (), удаляющий из множества элементы, не удовлетворяющие заданному условию, или предикату, а также метод Reverse (), возвращающий объект типа IEnumerable<T>, который циклически проходит множество в обратном порядке.

Помимо свойств, определенных в интерфейсах, которые реализуются в классе SortedSet<T>, в него введены дополнительные свойства, приведенные ниже.

public IComparer<T> Comparer { get; } public T Max { get; } public T Min { get; }

Свойство Comparer получает способ сравнения для вызывающего множества. Свойство Мах получает наибольшее значение во множестве, а свойство Min — наименьшее значение во множестве.

В качестве примера применения класса SortedSet<T> на практике просто замените обозначение HashSet на SortedSet в исходном коде программы из предыдущего подраздела, посвященного коллекциям типа HashSet<T>.

Параллельные коллекции

В версию 4.0 среды .NET Framework добавлено новое пространство имен System. Collections . Concurrent. Оно содержит коллекции, которые являются потокобезопасными и специально предназначены для параллельного программирования. Это означает, что они могут безопасно использоваться в многопоточной программе, где возможен одновременный доступ к коллекции со стороны двух или больше параллельно исполняемых потоков. Ниже перечислены классы параллельных коллекций.

Параллельная коллекция

Описание

BlockingCollection<T>

Предоставляет оболочку для блокирующей реализации интерфейса IProducerConsumerCollection<T>

ConcurrentBag<T>

Обеспечивает неупорядоченную реализацию интерфейса

IProducerConsumerCollection<T>, которая оказыва

ется наиболее пригодной в том случае, когда информация вырабатывается и потребляется в одном потоке

ConcurrentDictionary

Сохраняет пары “ключ-значение", а значит, реализует парал

<TKey, TValue>

лельный словарь

ConcurrentQueue<T>

Реализует параллельную очередь и соответствующий вариант интерфейса IProducerConsumerCollection<T>

ConcurrentStack<T>

Реализует параллельный стек и соответствующий вариант интерфейса IproducerConsumerCollection<T>

Как видите, в нескольких классах параллельных коллекций реализуется интерфейс IProducerConsumerCollection. Этот интерфейс также определен в пространстве имен System. Collections . Concurrent. Он служит в качестве расширения интерфейсов IEnumerable, IEnumerable<T> и ICollection. Кроме того, в нем определены методы TryAdd () и TryTake (), поддерживающие шаблон "поставщик-потребитель". (Классический шаблон "поставщик-потребитель" отличается решением двух задач. Первая задача производит элементы коллекции, а другая потребляет их.) Метод TryAdd () пытается добавить элемент в коллекцию, а метод TryTake () — удалить элемент из коллекции. Ниже приведены формы объявления обоих методов.


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

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

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


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

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

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

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

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

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

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