» » » Герберт Шилдт - 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#.Введите сюда краткую аннотацию






    Console.Write("Следовать по ссылкам в обратном направлении: ");

    for(node = ll.Last; node != null; node = node.Previous)

      Console.Write(node.Value + " ");


    Console.WriteLine ("\n");


    // Удалить из списка два элемента.

    Console.WriteLine("Удалить 2 элемента из списка");

    // Удалить элементы из связного списка.

    ll.Remove('С');

    ll.Remove('А');

    Console.WriteLine("Количество элементов в списке: " + ll.Count);


    // Отобразить содержимое видоизмененного списка в цикле foreach.

    Console.Write("Содержимое списка после удаления элементов: ");

    foreach(char ch in ll)

      Console.Write(ch + " ");


    Console.WriteLine ("\n");


    // Добавить три элемента в конец списка.

    ll.AddLast('X');

    ll.AddLast('Y');

    ll.AddLast('Z');

    Console.Write("Содержимое списка после ввода элементов: ");

    foreach(char ch in ll)

      Console.Write(ch + " ");


    Console.WriteLine("\n");

  }

}


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


Исходное количество элементов в списке: 0


Добавить в список 5 элементов

Количество элементов в списке: 5

Отобразить содержимое списка по ссылкам: Е D С В А


Отобразить содержимое списка в цикле foreach: Е D С В А


Следовать по ссылкам в обратном направлении: А В С D Е


Удалить 2 элемента из списка

Количество элементов в списке: 3

Содержимое списка после удаления элементов: Е D В


Содержимое списка после ввода элементов: Е D В X Y Z


Самое примечательное в этой программе — это обход списка в прямом и обратном направлении, следуя по ссылкам, предоставляемым свойствами Next и Previous. Двунаправленный характер подобных связных списков имеет особое значение для приложений, управляющих базами данных, где нередко требуется перемещаться по списку в обоих направлениях.


Класс DictionaryCTKey, TValue>

Класс Dictionary<TKey, TValue> позволяет хранить пары "ключ-значение" в коллекции как в словаре. Значения доступны в словаре по соответствующим ключам. В этом отношении данный класс аналогичен необобщенному классу Hashtable. В классе Dictionary<TKey, TValue> реализуются интерфейсы IDictionary, IDictionary<TKey, TValue>, ICollection, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, ISerializable и IDeserializationCallback. В двух последних интерфейсах поддерживается сериализация списка. Словари имеют динамический характер, расширяясь по мере необходимости.

В классе Dictionary<TKey, TValue> предоставляется немало конструкторов. Ниже перечислены наиболее часто используемые из них.


public Dictionary()

public Dictionary(IDictionaryCTKey, TValue> dictionary)

public Dictionary(int capacity)


В первом конструкторе создается пустой словарь с выбираемой по умолчанию первоначальной емкостью. Во втором конструкторе создается словарь с указанным количеством элементов dictionary. А в третьем конструкторе с помощью параметра capaci ty указывается емкость коллекции, создаваемой в виде словаря. Если размер словаря заранее известен, то, указав емкость создаваемой коллекции, можно исключить изменение размера словаря во время выполнения, что, как правило, требует дополнительных затрат вычислительных ресурсов.

В классе Dictionary<TKey, TValue> определяется также ряд методов. Некоторые наиболее часто используемые методы этого класса сведены в табл. 25.17.


Таблица 25.17. Наиболее часто используемые методы, определенные в классе Die tionaryCTKey, TValue>


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


public void Add(TKey key, TValue value) - Добавляет в словарь пару “ключ-значение", определяемую параметрами key и value. Если ключ key уже находится в словаре, то его значение не изменяется, и генерируется исключение ArgumentException

public bool ContainsKey(TKey key) - Возвращает логическое значение true, если вызывающий словарь содержит объект key в качестве ключа; а иначе — логическое значение false

public bool ContainsValue(TValue value) - Возвращает логическое значение true, если вызывающий словарь содержит значение value; в противном случае — логическое значение false

public bool Remove(TKey key) - Удаляет ключ key из словаря. При удачном исходе операции возвращается логическое значение true, а если ключ key отсутствует в словаре — логическое значение false


Кроме того, в классе Dictionary<TKey, TValue> определяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже.


Свойство - Описание


public IEqualityComparer<TKey> Comparer { get; } - Получает метод сравнения для вызывающего словаря

public Dictionary<TKey, TValue>. KeyCollection Keys { get; } - Получает коллекцию ключей

public Dictionary<TKey, TValue>. ValueCollection Values { get; } - Получает коллекцию значений


Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны отдельными списками с помощью свойств Keys и Values. В коллекциях типа DictionaryCTKey, TValue>.KeyCollection и Dictionary<TKey, TValue>.ValueCollection> реализуются как обобщенные, так и необобщенные формы интерфейсов ICollection и IEnumerable.

И наконец, в классе DictionaryCTKey, TValue> реализуется приведенный ниже индексатор, определенный в интерфейсе IDictionary<TKey, TValue>


public TValue this[TKey key] { get; set; }


Этот индексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Но в качестве индекса в данном случае служит ключ элемента, а не сам индекс.

При перечислении коллекции типа DictionaryCTKey, TValue> из нее возвращаются пары "ключ-значение" в форме структуры KeyValuePairCTKey, TValue> Напомним, что в этой структуре определяются два поля.


public TKey Key;

public TValue Value;


В этих полях содержится ключ или значение соответствующего элемента коллекции. Как правило, структура KeyValuePairCTKey, TValue> не используется непосредственно, поскольку средства класса DictionaryCTKey, TValue> позволяют работать с ключами и значениями по отдельности. Но при перечислении коллекции типа Dictionary<TKey, TValue>, например, в цикле foreach перечисляемыми объектами являются пары типа KeyValuePair.

Все ключи в коллекции типа DictionaryCTKey, TValue> должны быть уникальными, причем ключ не должен изменяться до тех пор, пока он служит в качестве ключа. В то же время значения не обязательно должны быть уникальными. К тому же объекты не хранятся в коллекции типа DictionaryCTKey, TValue> в отсортированном порядке.

В приведенном ниже примере демонстрируется применение класса DictionaryCTKey, TValue>


// Продемонстрировать применение класса обобщенной

// коллекции DictionaryCTKey, TValueX

using System;

using System.Collections.Generic;


class GenDictionaryDemo {

  static void Main() {

    // Создать словарь для хранения имен и фамилий

    // работников и их зарплаты.

    Dictionary<string, double> diet =

            new Dictionary<string, double>();


    // Добавить элементы в коллекцию,

    diet.Add("Батлер, Джон", 73000);

    diet.Add("Шварц, Capa", 59000);

    diet.Add("Пайк, Томас", 45000);

    diet.Add("Фрэнк, Эд", 99000);


    // Получить коллекцию ключей, т.е. фамилий и имен.

    ICollection<string> с = diet.Keys;


    // Использовать ключи для получения значений, т.е. зарплаты,


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

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

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


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

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

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

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

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

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

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