-->

Полное руководство. С# 4.0

На нашем литературном портале можно бесплатно читать книгу Полное руководство. С# 4.0, Шилдт Герберт-- . Жанр: Программирование. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Полное руководство. С# 4.0
Название: Полное руководство. С# 4.0
Дата добавления: 16 январь 2020
Количество просмотров: 267
Читать онлайн

Полное руководство. С# 4.0 читать книгу онлайн

Полное руководство. С# 4.0 - читать бесплатно онлайн , автор Шилдт Герберт

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

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

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

Перейти на страницу:

Ниже приведен пример программы, в которой демонстрируется применение нескольких методов, определенных в структуре Char.// Продемонстрировать применение нескольких методов,// определенных в структуре Char.using System;using System.Globalization;class CharDemo { static void Main() { string str = "Это простой тест. $23"; int i; for(i=0; i < str.Length; i++) { Console.Write(str[i] + " является"); if(Char.isDigit(str[i])) Console.Write(" цифрой"); if(Char.IsLetter(str[i])) Console.Write(" буквой"); if(Char.IsLower(str[i])) Console.Write(" строчной"); if(Char.IsUpper(str[i])) Console.Write(" прописной"); if(Char.IsSymbol(str [i])) Console.Write(" символическим знаком"); if(Char.IsSeparator(str[i])) Console.Write(" разделительным"); if(Char.IsWhiteSpace(str[i])) Console.Write(" пробелом"); if(Char.IsPunctuation(str[i])) Console.Write(" знаком препинания"); Console.WriteLine(); } Console.WriteLine("Исходная строка: " + str); // Преобразовать в прописные буквы. string newstr = ""; for(i=0; i < str.Length; i++) newstr += Char.ToUpper(str[i], CultureInfo.CurrentCulture); Console.WriteLine("После преобразования: " + newstr); }}

Эта программа дает следующий результат.Э является буквой прописнойт является буквой строчнойо является буквой строчнойявляется разделительным пробеломп является буквой строчнойр является буквой строчнойо является буквой строчнойс является буквой строчнойт является буквой строчнойо является буквой строчнойй является буквой строчнойявляется разделительным пробеломт является буквой строчнойе является буквой строчнойс является буквой строчнойт является буквой строчной. является знаком препинанияявляется разделительным пробелом$ является символическим знаком2 является цифрой3 является цифройИсходная строка: Это простой тест. $23После преобразования: ЭТО ПРОСТОЙ ТЕСТ. $23Структура Boolean

В структуре Boolean поддерживаются данные типа bool. Методы, определенныев этой структуре, перечислены в табл. 21.10. Кроме того, в ней определены следующиеполя.public static readonly string FalseStringpublic static readonly string TrueString

В этих полях логические значения true и false содержатся в удобочитаемой форме. Так, если вывести содержимое поля FalseString с помощью методаWriteLine(), то на экране появится строка "False".

В структуре Boolean реализованы следующие интерфейсы: IComparable,IComparable<bool>, IConvertible и IEquatable<bool>.

Таблица 21.10. Методы, определенные в структуре BooleanМетодНазначениеpublic int CompareTo(bool value)Сравнивает логическое значение вызывающего объекта со значением параметра value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр value — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр value — логическое значение falsepublic int CompareTo(object obj)Сравнивает логическое значение вызывающего объекта со значением параметра obj. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр obj — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр obj — логическое значение falsepublic bool Equals(bool obj)Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра objpublic override bool Equals(object obj)Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра objpublic override int GetHashCode()Возвращает хеш-код для вызывающего объектаpublic TypeCode GetTypeCode()Возвращает значение перечисления TypeCode для структуры Boolean, т.е. TypeCode.Booleanpublic static bool Parse(string s)Возвращает эквивалент типа bool символьной строки s. Если строка s не содержит ни поле Boolean. TrueString, ни поле Boolean.FalseString, то генерируется исключение FormatException, независимо от того, какими буквами набрано содержимое строки: прописными или строчнымиpublic override string ToString()Возвращает строковое представление значения вызывающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseStringpublic string ToString(IFormatProvider provider)Возвращает строковое представление значения вызывающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseString. При этом параметр provider игнорируетсяpublic static bool TryParse(string s, out bool result)Предпринимает попытку преобразовать символ из строки s в его эквивалентное значение типа bool. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s не содержит ни поле Boolean. TrueString, ни поле Boolean.FalseString, то возвращается логическое значение false, независимо от того, какими буквами набрано содержимое строки: прописными или строчными, в отличие от метода Parse(), который генерирует исключение в аналогичной ситуацииКласс Array

Класс Array относится к числу наиболее часто используемых в пространстве именSystem. Он является базовым классом для всех массивов в С#. Следовательно, его методы можно применять к массивам любого встроенного в C# типа или же к массивамопределяемого пользователем типа. Свойства, определенные в классе Array, перечислены в табл. 21.11, а методы — в табл. 21.12.

В классе Array реализуются следующие интерфейсы: ICloneable, ICollection,IEnumerable, IStructuralComparable, IStructuralEquatable, а также IList.Все интерфейсы, кроме ICloneable, определены в пространстве имен System.Collections, подробнее рассматриваемом в главе 25.

В ряде методов данного класса используется параметр типа IComparer илиIComparer<T>. Интерфейс IComparer находится в пространстве имен System.Collections. В нем определяется метод Compare() для сравнения значений двухобъектов, как показано ниже.int Compare(object х, object у)

Этот метод возвращает значение больше нуля, если х больше у; значение меньшенудя, если х меньше у; и, наконец, нулевое значение, если оба значения равны.Интерфейс IComparer находится в пространстве имен System.Collections.Generic. В нем определяется метод Compare(), общая форма которого приведена ниже.int Compare(Т х, Т у)

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

В последующих разделах демонстрируется ряд наиболее распространенных операций с массивами.

Таблица 21.11. Свойства, определенные в классе ArrayСвойствоНазначениеpublic bool IsFixedSize { get; }Доступно только для чтения. Принимает логическое значение true, если массив имеет фиксированный размер, и логическое значение false, если массив может изменять его динамическиpublic bool IsReadOnly { get; }Доступно только для чтения. Принимает логическое значение true, если объект класса Array предназначен только для чтения, а иначе — логическое значение false. Для массивов это свойство всегда имеет логическое значение truepublic bool IsSynchronized { get; }Доступно только для чтения. Принимает логическое значение true, если массив можно безопасно использовать в многопоточной среде, а иначе — логическое значение false. Для массивов это свойство всегда имеет логическое значение truepublic int Length { get; }Доступно только для чтения. Имеет тип int и содержит количество элементов в массивеpublic long LongLength { get; }Доступно только для чтения. Имеет тип long и содержит количество элементов в массивеpublic int Rank { get; }Доступно только для чтения. Содержит размерность массиваpublic object SyncRoot { get; }Доступно только для чтения. Содержит объект, предназначенный для синхронизации доступа к массиву

Перейти на страницу:
Комментариев (0)
название