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








public void Sort(int index,

Сортирует вызывающую коллекцию, используя

int count, IComparer<T>

для сравнения способ, задаваемый параметром

comparer)

comparer. Сортировка начинается с элемента, указываемого по индексу index, и включает количество элементов, определяемых параметром count. Если параметр comparer имеет пустое значение, то для сравнения используется способ, выбираемый по умолчанию

public T [ ] ToArrayO

Возвращает массив, содержащий копии элементов вызывающего объекта

public void TrimExcess()

Сокращает емкость вызывающей коллекции таким образом, чтобы она не превышала 10% от количества элементов, хранящихся в ней на данный момент

В классе List<T> определяется также собственное свойство Capacity, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Это свойство объявляется следующим образом.

public int Capacity { get; set; }

Свойство Capacity позволяет установить и получить емкость вызывающей коллекции в качестве динамического массива. Эта емкость равна количеству элементов, которые может содержать коллекция до ее вынужденного расширения. Такая коллекция расширяется автоматически, и поэтому задавать ее емкость вручную необязательно. Но из соображений эффективности это иногда можно сделать, если заранее известно количество элементов коллекции. Благодаря этому исключаются издержки на выделение дополнительной памяти.

В классе List<T> реализуется также приведенный ниже индексатор, определенный в интерфейсе IList<T>.

public Т this[int index] { get; set; }

С помощью этого индексатора устанавливается и получается значение элемента коллекции, указываемое по индексу index.

В приведенном ниже примере программы демонстрируется применение класса List<T>. Это измененный вариант примера, демонстрировавшего ранее класс ArrayList. Единственное изменение, которое потребовалось для этого, заключалось в замене класса ArrayList классом List, а также в использовании параметров обобщенного типа.

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

using System.Collections.Generic;

class GenListDemo { static void Main() {

// Создать коллекцию в виде динамического массива.

List<char> 1st = new List<char>();

Console.WriteLine("Исходное количество элементов: " + lst.Count);

Console.WriteLine();

Console.WriteLine("Добавить 6 элементов");

// Добавить элементы в динамический массив.

1st.Add('С');

1st.Add(1А *);

1st.Add('Е');

1st.Add(1В1);

1st.Add('D');

1st.Add('F');

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

// Отобразить содержимое динамического массива,

// используя индексирование массива.

Console.Write("Текущее содержимое: "); for (int i=0; i < lst.Count;. i++)

Console.Write(1st[i] + " ");

Console.WriteLine("\n");

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

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

1st.Remove('F');

1st.Remove('А1);

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

// Отобразить содержимое динамического массива, используя цикл foreach. Console.Write("Содержимое: "); foreach(char с in 1st)

Console.Write(с + " ");

Console.WriteLine("\n");

Console.WriteLine("Добавить еще 20 элементов");

// Добавить количество элементов, достаточное для // принудительного расширения массива, for(int i=0; i < 20; i++)

1st.Add((char) ('a1 + i));

Console.WriteLine("Текущая емкость: " + 1st.Capacity);

Console.WriteLine("Количество элементов после добавления 20 новых: " + 1st.Count);

Console.Write("Содержимое: ");

foreach(char с in 1st)

Console.Write(с + " ") ;

Console.WriteLine("\n");

// Изменить содержимое динамического массива,

//’ используя индексирование массива.

Console.WriteLine("Изменить три первых элемента"); 1st [0] = 1X'; lst[l] = ' Y' ;

1st[2] = 1Z1;

Console.Write("Содержимое: "); foreach(char с in 1st)

Console.Write(с + " ");

Console.WriteLine ();

// Следующая строка кода недопустима из-за // нарушения безопасности обобщенного типа.

// lst.Add(99); // Ошибка, поскольку это не тип char!

}

}

Эта версия программы дает такой же результат, как и предыдущая.

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

Добавить 6 элементов Количество элементов: 6 Текущее содержимое: С А Е В D F

Удалить 2 элемента Количество элементов: 4 Содержимое: С Е В D

Добавить еще 20 элементов Текущая емкость: 32

Количество элементов после добавления 20 новых: 24 Содержимое: CEBDabcdefghij klmnopqrst

Изменить три первых элемента

Содержимое: XYZDabcdefghij klmnopqrst

Класс LinkedList<T>

В классе LinkedList<T> создается коллекция в виде обобщенного двунаправленного списка. В этом классе реализуются интерфейсы ICollection, ICollection<T>, IEnumerable, IEnumerable<T>, ISerializable иIDeserializationCallback. В двух последних интерфейсах поддерживается сериализация списка. В классе LinkedList<T> определяются два приведенных ниже открытых конструктора.

public LinkedListO

public LinkedList(IEnumerable<T> collection)

В первом конструкторе создается пустой связный список, а во втором конструкторе — список, инициализируемый элементами из коллекции collection.

Как и в большинстве других реализаций связных списков, в классе LinkedList<T> инкапсулируются значения, хранящиеся в узлах списка, где находятся также ссылки на предыдущие и последующие элементы списка. Эти узлы представляют собой объекты класса LinkedListNode<T>. В классе LinkedListNode<T> предоставляются четыре следующих свойства.

public LinkedListNode<T> Next { get; } public LinkedListNode<T> Previous { get; } public LinkedList<T> List { get; } public T Value { get; set; }

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

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

public LinkedListNode<T> First { get; } public LinkedListNode<T> Last { get; }

С помощью свойства First получается первый узел в списке, а с помощью свойства Last — последний узел в списке.

Таблица 25.16. Наиболее часто используемые методы, определенные в классе LinkedList<T>

Метод

Описание

public LinkedListNode<T>

Добавляет в список узел со значением value не

AddAfter(LinkedListNode<T>

посредственно после указанного узла node. Указы

node, T value)

ваемый узел node не должен быть пустым (null). Метод возвращает ссылку на узел, содержащий значение value

public void

Добавляет в список новый узел newNode непо

AddAfter(LinkedListNode<T>

средственно после указанного узла node. Ука

node, LinkedListNode<T>

зываемый узел node не должен быть пустым

newNode)

(null). Если узел node отсутствует в списке или если новый узел newNode является частью другого списка, то* генерируется исключение

InvalidOperationException

public LinkedListNode<T>

Добавляет в список узел со значением value непо

AddBefore(LinkedListNode<T>

средственно перед указанным узлом node. Указы

node, T value)

ваемый узел node не должен быть пустым (null). Метод возвращает ссылку на узел, содержащий значение value


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

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

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


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

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

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

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

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

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

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