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






using System;

using System.Collections;


class ArrayListDemo {

  static void Main() {

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

    ArrayList al = new ArrayList();


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

    Console.WriteLine();

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


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

    al.Add('С');

    al.Add('А');

    al.Add('E');

    al.Add('В');

    al.Add('D');

    al.Add('F') ;

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


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

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

    Console.Write("Текущее содержимое: ");

    for(int i=0; i < al.Count; i++)

      Console.Write (al[i] + " ");


    Console.WriteLine("\n");


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

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

    al.Remove('F');

    al.Remove('A');


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

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

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

    foreach(char c in al)

      Console.Write(c + " ");


    Console.WriteLine("\n");


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

    // Добавить количество элементов, достаточное для

    // принудительного расширения массива,

    for (int i=0; i < 20; i++)

      al.Add((char)('a' + i));


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

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

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

    foreach(char c in al)

      Console.Write(c + " ");


    Console.WriteLine("\n");


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

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

    Console.WriteLine("Изменить три первых элемента");

    al[0] = 'X';

    al[1] = 'Y';

    al[2] = 'Z';


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

    foreach(char c in al)

      Console.Write (c + " ");


    Console.WriteLine();

  }

}


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


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

Добавить 6 элементов

Количество элементов: 6

Текущее содержимое: С А E В D F

Удалить 2 элемента

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

Содержимое: С А E В D

Добавить еще 20 элементов

Текущая емкость: 32

Количество элементов после добавления 20 новых: 25

Содержимое: С А E В D a b c d e f g h i j k l m n o p q r s t

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

Содержимое: X Y Z В D a b c d e f g h i j k l m n o p q r s t

Для продолжения нажмите любую клавишу . . .


Сортировка и поиск в коллекции типа ArrayList

Коллекцию типа ArrayList можно отсортировать с помощью метода Sort(). В этом случае поиск в отсортированной коллекции с помощью метода BinarySearch() становится еще более эффективным. Применение обоих методов демонстрируется в приведенном ниже примере программы.


// Отсортировать коллекцию типа ArrayList и осуществить в ней поиск.

using System;

using System.Collections;

class SortSearchDemo {

  static void Main() {

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

    ArrayList al = new ArrayList();

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

    al.Add(55);

    al.Add(43) ;

    al.Add(-4);

    al.Add(88);

    al.Add(3);

    al.Add(19) ;


    Console.Write("Исходное содержимое: ");

    foreach(int i in al)

      Console.Write (i + " ");


    Console.WriteLine ("\n");


    // Отсортировать динамический массив,

    al.Sort();


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

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

    foreach (int i in al)

      Console.Write (i + " ");


    Console.WriteLine ("\n");

    Console.WriteLine("Индекс элемента 43: " + al.BinarySearch (43));

  }

}


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


Исходное содержимое: 55 43 -4 88 3 19


Содержимое после сортировки: -4 3 19 43 55 88


Индекс элемента 43: 3


В одной и той же коллекции типа ArrayList могут храниться объекты любого типа. Тем не менее во время сортировки и поиска в ней эти объекты приходится сравнивать. Так, если бы список объектов в приведенном выше примере программы содержал символьную строку, то их сравнение привело бы к исключительной ситуации. Впрочем, для сравнения символьных строк и целых чисел можно создать специальные методы. О таких методах сравнения речь пойдет далее в этой главе.


Получение массива из коллекции типа ArrayList

В работе с коллекцией типа ArrayList иногда требуется получить из ее содержимого обычный массив. Этой цели служит метод ТоАггау(). Для преобразования коллекции в массив имеется несколько причин. Две из них таковы: потребность в ускорении обработки при выполнении некоторых операций и необходимость передавать массив методу, который не перегружается, чтобы принять коллекцию. Но независимо от конкретной причины коллекция типа ArrayList преобразуется в обычный массив довольно просто, как показано в приведенном ниже примере программы.


// Преобразовать коллекцию типа ArrayList в обычный массив.

using System;

using System.Collections;

class ArrayListToArray {

  static void Main() {

    ArrayList al = new ArrayList();


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

    al.Add(1);

    al.Add(2);

    al.Add(3);

    al.Add(4) ;


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

    foreach(int i in al)

      Console.Write(i + " ");


    Console.WriteLine();


    int[] ia = (int[])al.ToArray(typeof(int));


    int sum = 0;

    // Просуммировать элементы массива,

    for(int i=0; i < ia.Length; i++) sum += ia[i];


    Console.WriteLine("Сумма равна: " + sum);

  }

}


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


Содержимое: 1 2 3 4

Сумма равна: 10


В начале этой программы создается коллекция целых чисел. Затем в ней вызывается метод ToArray() с указанием типа int получаемого массива. В итоге создается целочисленный массив. Но поскольку Array является типом, возвращаемым методом ToArray(), то содержимое получаемого в итоге массива должно быть приведено к типу int[]. (Напомним, что Array является базовым типом для всех массивов в С#.) И наконец, значения всех элементов массива суммируются.


Класс Hashtable

Класс Hashtable предназначен для создания коллекции, в которой для хранения ее элементов служит хеш-таблица. Как должно быть известно большинству читателей, информация сохраняется в хеш-таблице с помощью механизма, называемого хешированием. При хешировании для определения уникального значения, называемого хеш-кодом, используется информационное содержимое специального ключа. Полученный в итоге хеш-код служит в качестве индекса, по которому в таблице хранятся искомые данные, соответствующие заданному ключу. Преобразование ключа в хеш-код выполняется автоматически, и поэтому сам хеш-код вообще недоступен пользователю. Преимущество хеширования заключается в том, что оно обеспечивает постоянство времени выполнения операций поиска, извлечения и установки значений независимо от величины массивов данных. В классе Hashtable реализуются интерфейсы IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallback и ICloneable.


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

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

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


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

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

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

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

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

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

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