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








В приведенном ниже примере демонстрируется применение класса SortedDictionary<TKey, TValueX Это измененный вариант предыдущего примера, демонстрировавшего применение класса Dictionary<TKey, TValueX В данном варианте база данных работников отсортирована по фамилии и имени работника, которые служат в качестве ключа.

// Продемонстрировать применение класса обобщенной // коллекции SortedDictionary<TKey, TValueX

using System;

using System.Collections.Generic;

class GenSortedDictionaryDemo { static void Main() {

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

SortedDictionary<string, double> diet =

new SortedDictionary<string, double>();

// Добавить элементы в коллекцию, diet.Add("Батлер, Джон", 73000); diet.Add("Шварц, Capa", 59000); diet.Add("Пайк, Томас", 45000); diet.Add("Фрэнк, Эд", 99000);

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

ICollection<string> с = diet.Keys;

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

Console.WriteLine("{0}, зарплата: {1:C}", str, diet[str]);

}

}

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

Батлер, Джон, зарплата: $73,000.00 Пайк, Томас, зарплата: $45,000.00 Фрэнк, Эд, зарплата: $99,000.00 Шварц, Сара, зарплата: $59,000.00

Как видите, список работников и их зарплаты отсортированы по ключу, в качестве которого в данном случае служит фамилия и имя работника.

Класс SortedListCTKey, TValue>

В коллекции класса SortedList<TKey, TValue> хранится отсортированный список пар "ключ-значение". Это обобщенный эквивалент класса необобщенной коллекции SortedList. В классе SortedList<TKey, TValue> реализуются интерфейсы IDictionary, IDictionary<TKey, TValue>, ICollection, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable и IEnumerable<KeyValuePair<TKey, TValue». Размер коллекции типа SortedList<TKey, TValue> изменяется динамически, автоматически увеличиваясь по мере необходимости. Класс SortedList<TKey, TValue> подобен классу SortedDictionary<TKey, TValue>, но у него другие рабочие характеристики. В частности, класс SortedListcTKey, TValue> использует меньше памяти, тогда как класс SortedDicti-onary<TKey, TValue> позволяет быстрее вставлять неупорядоченные элементы в коллекцию.

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

public SortedList ()

public SortedList(IDictionaryCTKey, TValue> dictionary)

public SortedList(int capacity)

public SortedList(IComparer<TK> comparer)

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

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

В классе SortedListcTKey, TValue> определяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.19. Следует иметь в виду, что перечислитель, возвращаемый методом GetEnumerator (), служит для перечисления пар "ключ-значение", хранящихся в отсортированном списке в виде объектов типа KeyValuePair.

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

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

public void    Add (TKey    key,    Добавляет в список пару “ключ-значение",

TValue value)    определяемую параметрами key и value.

Если ключ key уже находится в списке, то его значение не изменяется, и генерируется исключение ArgumentException public bool    ContainsKey (ТК key) Возвращает логическое значение true, если вы

зывающий список содержит объект key в каче-_стве ключа; а иначе логическое значение false

Метод

Описание

public bool

ContainsValue(TValue value)

public IEnumerator<KeyValuePair CTKey, TValue>> GetEnumerator() public int IndexOfKey(TKey key)

public int IndexOfValue(TValue value)

public bool Remove(TKey key)

public void RemoveAt(int index) public void TrimExcessO

Возвращает логическое значение true, если вызывающий список содержит значение value; в противном случае — логическое значение false

Возвращает перечислитель для вызывающего словаря

Возвращает индекс ключа key. Если искомый ключ не обнаружен в списке, возвращается значение -1

Возвращает индекс первого вхождения значения value в вызывающем списке. Если искомое значение не обнаружено в списке, возвращается значение -1 Удаляет из списка пару “ключ-значение” по указанному ключу key. При удачном исходе операции возвращается логическое значение true, а если ключ key отсутствует в списке — логическое значение false Удаляет из списка пару “ключ-значение” по указанному индексу index Сокращает избыточную емкость вызывающей коллекции в виде отсортированного списка

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

Свойство

Описание

public int Capacity { get; set; }

Получает или устанавливает емкость

вызывающей коллекции в виде отсо

ртированного списка

public IComparer<TK> Comparer { get;

■ } Получает метод сравнения для вызы

вающего списка

public IList<TK> Keys { get; }

Получает коллекцию ключей

public IList<TV> Values { get; }

Получает коллекцию значений

И наконец, в классе SortedList<TKey,

TValue> реализуется приведенный ниже

индексатор, определенный в интерфейсе IDictionaryCTKey, TValueX

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

} .

Этот индексатор служит для получения и

установки значения элемента коллекции,

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

индекса служит ключ элемента, а не сам индекс.

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

SortedList<TKey, TValueX Это еще один измененный вариант представленного

ранее примера базы данных работников. В данном варианте база данных хранится в коллекции типа SortedList.

// Продемонстрировать применение класса обобщенной // коллекции SortedList<TKey, TValue>.

using System;

using System.Collections.Generic;

class GenSLDemo {

static void Main() {

// Создать коллекцию в виде отсортированного списка // для хранения имен и фамилий работников и их зарплаты.

SortedList<string, double> si =

new SortedList<string, double>();

// Добавить элементы в коллекцию, si.Add("Батлер, Джон", 73000); si.Add("Шварц, Capa", 59000); si.Add("Пайк, Томас", 45000); si.Add("Фрэнк, Эд", 99000);

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

ICollection<string> с = si.Keys;

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

Console.WriteLine("{0}, зарплата: {1:C}", str, si[str]);

Console.WriteLine();

}

}


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

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

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


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

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

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

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

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

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

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