-->

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

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

Полное руководство. С# 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] для удаления материала

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

В приведенном ниже примере программы демонстрируется применение методаConcat() в форме с переменным списком аргументов.// Продемонстрировать применение метода Concat().using System;class ConcatDemo { static void Main() { string result = String.Concat("Это ", "тест ", "метода ", "сцепления ", "строк ", "из класса ", "String." ); Console.WriteLine("Результат: " + result); }}

Эта программа дает следующий результат.Результат: Это тест метода сцепления строк из класса String.

Кроме того, существуют варианты метода Concat(), в которых он принимает в качестве параметров ссылки на объекты, а не на строки. В этих вариантах методConcat() получает строковые представления вызывающих объектов, а возвращаетобъединенную строку, сцепленную из этих представлений. (Строковые представленияобъектов получаются с помощью метода ToString(), вызываемого для этих объектов.) Ниже приведены все подобные варианты и формы метода Concat().public static string Concat(object arg0)public static string Concat(object arg0, object arg1)public static string Concat(object arg0, object arg1, object arg2)public static string Concat(object arg0, object arg1, object arg2, object arg3)public static string Concat(params object[] args)

В первой форме метод Concat() возвращает строку, эквивалентную объекту arg0,а в остальных формах — строку, получаемую в результате сцепления всех аргументовданного метода. Объектные формы метода Concat(), т.е. относящиеся к типу object,очень удобны, поскольку они исключают получение вручную строковых представлений объектов перед их сцеплением. В приведенном ниже примере программы наглядно демонстрируется польза от подобных форм метода Concat().// Продемонстрировать применение объектной формы метода Concat().using System;class MyClass { public static int Count = 0; public MyClass() { Count++; }}class ConcatDemo { static void Main() { string result = String.Concat("значение равно " + 19); Console.WriteLine("Результат: " + result); result = String.Concat("привет ", 88, " ", 20.0, " ", false, " ", 23.45M); Console.WriteLine("Результат: " + result); MyClass me = new MyClass(); result = String.Concat(me, " текущий счет равен ", MyClass.Count); Console.WriteLine("Результат: " + result); }}

Вот к какому результату приводит выполнение этой программы.Результат: значение равно 19Результат: привет 88 20 False 23.45Результат: MyClass текущий счет равен 1

В данном примере метод Concat() сцепляет строковые представления различныхтипов данных. Для каждого аргумента этого метода вызывается соответствующий метод ToString(), с помощью которого получается строковое представление аргумента.Следовательно, в следующем вызове метода Concat():string result = String.Concat("значение равно " + 19);

метод Int32.ToString() вызывается для получения строкового представления целого значения 19, а затем метод Concat() сцепляет строки и возвращает результат.

Обратите также внимание на применение объекта определяемого пользователемкласса MyClass в следующем вызове метода Concat().result = String.Concat(me, " текущий счет равен ", MyClass.Count);

В данном случае возвращается строковое представление объекта типа MyClass,сцепленное с указываемой строкой. По умолчанию это просто имя класса. Но еслипереопределить метод ToString(), то вместо строки с именем класса MyClass можетбыть возвращена другая строка. В качестве упражнения попробуйте ввести в приведенный выше пример программы следующий фрагмент кода.public override string ToString() { return "Объект типа MyClass";}

В этом случае последняя строка результата выполнения программы будет выглядеть так, как показано ниже.Результат: Объект типа MyClass текущий счет равен 1

В версию 4.0 среды .NET Framework добавлены еще две формы метода Concat(),приведенные ниже.public static string Concat<T>(IEnumerable<T> values)public static string Concat(IEnumerable<string> values)

В первой форме этого метода возвращается символьная строка, состоящая из сцепленных строковых представлений ряда значений, имеющихся в объекте, которыйобозначается параметром values и может быть объектом любого типа, реализующегоинтерфейс IEnumerable<T>. А во второй форме данного метода сцепляются строки,обозначаемые параметром values. (Следует, однако, иметь в виду, что если приходится выполнять большой объем операций сцепления символьных строк, то для этойцели лучше воспользоваться средствами класса StringBuilder.)Поиск в строке

В классе String предоставляется немало методов для поиска в строке. С их помощью можно, например, искать в строке отдельный символ, строку, первое или последнее вхождение того и другого в строке. Следует, однако, иметь в виду, что поиск можетосуществляться либо с учетом культурной среды либо порядковым способом.

Для обнаружения первого вхождения символа или подстроки в исходной строке служит метод IndexOf(). Для него определено несколько перегружаемых форм.Ниже приведена одна из форм для поиска первого вхождения символа в исходнойстроке.public int IndexOf(char value)

В этой форме метода IndexOf() возвращается первое вхождение символа valueв вызывающей строке. Если символ value в ней не найден, то возвращается значение -1.При таком поиске символа настройки культурной среды игнорируются. Следовательно, в данном случае осуществляется порядковый поиск первого вхождения символа.

Ниже приведены еще две формы метода IndexOf(), позволяющие искать первоевхождение одной строки в другой.public int IndexOf(String value)public int IndexOf(String value, StringComparison comparisonType)

В первой форме рассматриваемого здесь метода поиск первого вхождения строки,обозначаемой параметром value, осуществляется с учетом культурной среды. А во второй форме предоставляется возможность указать значение типа StringComparison,обозначающее способ поиска. В если искомая строка не найдена, то в обеих формахданного метода возвращается значение -1.

Для обнаружения последнего вхождения символа или строки в исходной строкеслужит метод LastIndexOf(). И для этого метода определено несколько перегружаемых форм. Ниже приведена одна из форм для поиска последнего вхождения символав вызывающей строке.public int LastlndexOf(char value)

В этой форме метода LastIndexOf() осуществляется порядковый поиск, а в итогевозвращается последнее вхождение символа value в вызывающей строке или же значение -1, если искомый символ не найден.

Ниже приведены еще две формы метода LastIndexOf(), позволяющие искать последнее вхождение одной строки в другой.public int LastlndexOf(string value)public int LastlndexOf(string value, StringComparison comparisonType)

В первой форме рассматриваемого здесь метода поиск последнего вхождения строки, обозначаемой параметром value, осуществляется с учетом культурной среды. А во второй форме предоставляется возможность указать значение типаStringComparison, обозначающее способ поиска. Если же искомая строка не найдена, то в обеих формах данного метода возвращается значение -1.

В классе String предоставляются еще два интересных метода поиска в строке:IndexOfAny() и LastIndexOfAny(). Оба метода обнаруживают первый символ, совпадающий с любым набором символов. Ниже приведены простейшие формы этихметодов.public int IndexOfAny(char[] anyOf)public int LastIndexOfAny(char[] anyOf)

Метод IndexOfAny() возвращает индекс первого вхождения любого символа измассива anyOf, обнаруженного в вызывающей строке, а метод LastIndexOfAny() —индекс последнего вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Если совпадение символов не обнаружено, то в обоих случаях возвращается значение -1. Кроме того, в обоих рассматриваемых здесь методах осуществляется порядковый поиск.

При обработке символьных строк нередко оказывается полезно знать, начинаетсяли строка заданной подстрокой или же оканчивается ею. Для этой цели служат методы StartsWith() и EndsWith(). Ниже приведены их простейшие формы.public bool StartsWith(string value)public bool EndsWith(string value)

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