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


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

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

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

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

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

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

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

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

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



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


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






Public T[] ToArray() - Возвращает массив, содержащий копии элементов вызывающего стека

public void TrimExcess() - Сокращает избыточную емкость вызывающей коллекции в виде стека


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


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

using System;

using System.Collections.Generic;


class GenStackDemo {

  static void Main() {

    Stack<string> st = new Stack<string>();


    st.Push("один");

    st.Push("два");

    st.Push("три");

    st.Push("четыре");

    st.Push("пять");


    while(st.Count > 0) {

      string str = st.Pop();

      Console.Write(str + " ");

    }

    Console.WriteLine();  }

}


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


пять четыре три два один


Класс Queue<T>

Класс Queue<T> является обобщенным эквивалентом класса необобщенной коллекции Queue. В нем поддерживается очередь в виде списка, действующего по принципу "первым пришел — первым обслужен". В этом классе реализуются интерфейсы ICollection, IEnumerable и IEnumerable<T>. Кроме того, в классе Queue<T> непосредственно реализуются методы Clear(), Contains() и CopyTo(), определенные в интерфейсе ICollection<T>. А методы Add() и Remove() в этом классе не поддерживаются, как, впрочем, и свойство IsReadOnly. Коллекция класса Queue<T> имеет динамический характер, расширяясь по мере необходимости, чтобы вместить все элементы, которые должны храниться в ней. В классе Queue<T> определяются следующие конструкторы.


public Queue()

public Queue(int capacity)

public Queue(IEnumerable<T> collection)


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

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


Таблица 25.21. Методы, определенные в классе Queue<T>

Метод -  Описание


public T Dequeue() - Возвращает объект из начала вызывающей    очереди. Возвращаемый объект удаляется из очереди

public void Enqueue (Т item) -  Добавляет элемент item в конец очереди

public T Реек() - Возвращает элемент из начала вызывающей очере_ди, но не удаляет его

public virtual Т[] ToArray() - Возвращает массив, который содержит копии элементов из вызывающей очереди

public void TrimExcess() -  Сокращает избыточную емкость вызывающей коллекции в виде очереди


В приведенном ниже примере демонстрируется применение класса Queue<T>.


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

using System;

using System.Collections.Generic;


class GenQueueDemo {

  static void Main() {

    Queue<double> q = new Queue<double>();


    q.Enqueue(98.6);

    q.Enqueue(212.0);

    q.Enqueue(32.0);

    q.Enqueue(3.1416);


    double sum = 0.0;

    Console.Write("Очередь содержит: ");

    while(q.Count > 0) {

      double val = q.Dequeue();

      Console.Write(val + " ");

      sum += val;.

    }

    Console.WriteLine("\nИтоговая сумма равна " +• sum);

  }

}


Вот к какому результату приводит выполнение этой программы.


Очередь содержит: 98.6 212 32 3.1416

Итоговая сумма равна 345.7416


Класс HashSet<T>

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

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


public HashSet()

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('C');

    setB.Add('D');

    setB.Add('Е');


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


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

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

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


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

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

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

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

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

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

  1. BOT20.02.2021, 13:02
    сКОРО КУПЛЮ
А что Вы думаете о книге? Оставьте Ваш отзыв.