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

Тут можно читать онлайн Герберт Шилдт - C# 4.0: полное руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ООО И.Д. Вильямс, год 2011. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# 4.0: полное руководство
  • Автор:
  • Жанр:
  • Издательство:
    ООО И.Д. Вильямс
  • Год:
    2011
  • Город:
    Москва -- Киев
  • ISBN:
    978-5-8459-1684-6
  • Рейтинг:
    3.93/5. Голосов: 141
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

C# 4.0: полное руководство - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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


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

C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок

C# 4.0: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

public static GCNotificationStatus WaitForFullGCComplete() -Ожидает уведомления о завершении полного цикла “сборки мусора". Здесь GCNotificationStatus— перечисление, определенное в пространстве имен System

public static GCNotificationStatus WaitForFullComplete (int millisecondsTimeout) -Ожидает уведомления о завершении полного цикла "сборки мусора" в течение времени, задаваемого параметром millisecondsTimeout. Здесь GCNotificationStatus — перечисление, определенное в пространстве имен System

public static void WaitForPendingFinalizers() -Прекращает выполнение вызывающего потока до тех пор, пока не будут выполнены все вызванные и незавершенные деструкторы

Кроме того, в классе GC определяется следующее доступное только для чтения свойство:

public static int MaxGeneration { get; }

Свойство MaxGenerationсодержит максимальный номер поколения, доступный для системы. Номер поколения обозначает возраст выделенной области памяти. Чем старше выделенная область памяти, тем больше номер ее поколения. Номера поколений позволяют повысить эффективность работы системы " сборки мусора".

В большинстве приложений возможности класса GC не используются. Но в особых случаях они оказываются весьма полезными. Допустим, что требуется организовать принудительную "сборку мусора" с помощью метода Collect()в выбранный момент времени. Как правило, "сборка мусора" происходит в моменты, не указываемые специально в программе. А поскольку для ее выполнения требуется некоторое время, то желательно, чтобы она не происходила в тот момент, когда решается критичная по времени задача. С другой стороны, "сборку мусора" и другие вспомогательные операции можно выполнить во время простоя программы. Имеется также возможность регистрировать уведомления о приближении и завершении "сборки мусора".

Для проектов с неуправляемым кодом особое значение имеют два следующих метода из класса GC: AddMemoryPressure()и RemoveMemoryPressure(). С их помощью указывается большой объем неуправляемой памяти, выделяемой или освобождаемой в программе. Особое значение этих методов состоит в том, что система управления памятью не контролирует область неуправляемой памяти. Если программа выделяет большой объем неуправляемой памяти, то это может сказаться на производительности, поскольку системе ничего неизвестно о таком сокращении объема свободно доступной памяти. Если же большой объем неуправляемой памяти выделяется с помощью метода AddMemoryPressure(), то система CLR уведомляется о сокращении объема свободно доступной памяти. А если выделенная область памяти освобождается с помощью метода RemoveMemoryPressure(), то система CLR уведомляется о соответствующем восстановлении объема свободно доступной памяти. Следует, однако, иметь в виду, что метод RemoveMemoryPressure()необходимо вызывать только для уведомления об освобождении области неуправляемой памяти, выделенной с помощью метода AddMemoryPressure().

Класс object

В основу типа objectв C# положен класс object. Члены класса Objectподробно рассматривались в главе 11, но поскольку он играет главную роль в С#, то его методы ради удобства повторно перечисляются в табл. 21.16. В классе objectопределен конструктор

public Object()

который создает пустой объект.

Таблица 21.16. Методы, определенные в классе Object

Метод - Назначение

public virtual bool Equals(object obj) - Возвращает логическое значение true,если вызывающий объект оказывается таким же, как и объект, определяемый параметром obj. В противном случае возвращается значение false

public static bool Equals(object obj A, object objB) - Возвращает логическое значение true,если объект obj А оказывается таким же, как и объект objB. В противном случае возвращается значение false

protected Finalize() -Выполняет завершающие действия перед процессом “сборки мусора”. В C# метод Finalize()доступен через деструктор

public virtual int GetHashCode() - Возвращает хеш-код, связанный с вызывающим объектом

public Type GetType() -Получает тип объекта во время выполнения программы

protected object MemberwiseClone() -Создает “неполную” копию объекта. При этом копируются члены, но не объекты, на которые ссылаются эти члены

public static bool ReferenceEquals(object objA, object objB) - Возвращает логическое значение true,если объекты obj А и objB ссылаются на один и тот же объект. В противном случае возвращается логическое значение false

public virtual string ToString() -Возвращает строку, описывающую объект

Класс Tuple

В версии .NET Framework 4.0 внедрен удобный способ создания групп объектов (так называемых кортежей). В основу этого способа положен статический класс Tuple, в котором определяется несколько вариантов метода Create()для создания кортежей, а также различные обобщенные классы типа Tuple<. . . >, в которых инкапсулируются кортежи. В качестве примера ниже приведено объявление варианта метода Create(), возвращающего кортеж с тремя членами.

public static Tuple

Create (Tl iteml, Т2 item2, ТЗ item3)

Следует заметить, что данный метод возвращает объект типа Tuple, в котором инкапсулируются члены кортежа iteml , item2 и item3. Вообще говоря, кортежи оказываются полезными в том случае, если группу значений нужно интерпретировать как единое целое. В частности, кортежи можно передавать методам, возвращать из методов или же сохранять в коллекции либо в массиве.

Интерфейсы IComparable и IComparable

Во многих классах приходится реализовывать интерфейс IComparableили IComparable, поскольку он позволяет сравнивать один объект с другим, используя различные методы, определенные в среде .NET Framework. Интерфейсы IComparableи IComparableбыли представлены в главе 18, где они использовались в примерах программ для сравнения двух объектов, определяемых параметрами обобщенного типа. Кроме того, они упоминались при рассмотрении класса Arrayранее в этой главе. Но поскольку эти интерфейсы имеют особое значение и применяются во многих случаях, то ниже приводится их краткое описание.

Интерфейс IComparableреализуется чрезвычайно просто, потому что он состоит всего лишь из одного метода.

int CompareTo(object obj)

В этом методе значение вызывающего объекта сравнивается со значением объекта, определяемого параметром obj. Если значение вызывающего объекта больше, чем у объекта obj, то возвращается положительное значение; если оба значения равны — нулевое значение, а если значение вызывающего объекта меньше, чем у объекта obj , — отрицательное значение.

Обобщенный вариант интерфейса IComparableобъявляется следующим образом.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0: полное руководство отзывы


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


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

Напишите свой комментарий
x