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

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

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

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

Несмотря на все удобства встраивания команд форматирования выводимых данных в вызовы метода WriteLine(), иногда все же требуется сформировать строку, содержащую отформатированные данные, но не отображать ее сразу. Это дает возможность отформатировать данные заранее, чтобы вывести их в дальнейшем на выбранноеустройство. Такая возможность особенно полезна для организации работы в среде сграфическим пользовательским интерфейсом, подобной Windows, где ввод-вывод наконсоль применяется редко, а также для подготовки вывода на веб-страницу.

Вообще говоря, отформатированное строковое представление отдельного значения может быть получено двумя способами. Один из них состоит в примененииметода String.Format(), а другой — в передаче спецификатора формата методуToString(), относящемуся к одному из встроенных в С# числовых типов данных. Обаспособа рассматриваются далее по порядку.Применение метода String.Format() для форматирования значений

Для получения отформатированного значения достаточно вызвать метод Format(),определенный в классе String, в соответствующей его форме. Все формы этого методаперечислены в табл. 22.5. Метод Format() аналогичен методу WriteLine(), за исключением того, что он возвращает отформатированную строку, а не выводит ее наконсоль.

Таблица 22.5. Формы метода Format()МетодОписаниеpublic static string Format(string format, object arg0)Форматирует объект arg0 в соответствии с первой командой форматирования, которая содержится в строке format. Возвращает копию строки format, в которой команда форматирования заменена отформатированными даннымиpublic static string Format(string format, object arg0, object arg1)Форматирует объект arg0 в соответствии с первой командой форматирования, содержащейся в строке format, а объект arg1 — в соответствии со второй командой. Возвращает копию строки format, в которой команды форматирования заменены отформатированными даннымиpublic static string Format(string format, object arg0, object arg1, object arg2)Форматирует объекты arg0, arg1 и arg2 по соответствующим командам форматирования, содержащимся в строке format. Возвращает копию строки format, в которой команды форматирования заменены отформатированными даннымиpublic static string Format(string format, params object[] args)Форматирует значения, передаваемые в массиве args, в соответствии с командами форматирования, содержащимися в строке format. Возвращает копию строки format, в которой команды форматирования заменены отформатированными даннымиpublic static string Format(IFormatProvider provider, string format, params object[] args)Форматирует значения, передаваемые в массиве args, в соответствии с командами форматирования, содержащимися в строке format, используя поставщик формата provider. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

Ниже приведен вариант предыдущего примера программы форматирования, измененный с целью продемонстрировать применение метода String.Format(). Этотвариант дает такой же результат, как и предыдущий.// Использовать метод String.Format() для форматирования значений.using System;class FormatDemo { static void Main() { double v = 17688.65849; double v2 = 0.15; int x = 21; string str = String.Format("{0:F2}", v); Console.WriteLine(str); str = String.Format("{0:N5}", v); Console.WriteLine(str); str = String.Format("{0:e}", v); Console.WriteLine(str); str = String.Format("{0:r}", v); Console.WriteLine(str); str = String.Format("{0:p}", v2); Console.WriteLine(str); str = String.Format("{0:X}", x); Console.WriteLine(str); str = String.Format("{0:D12}", x); Console.WriteLine(str); str = String.Format("{0:C}", 189.99); Console.WriteLine(str); }}

Аналогично методу WriteLine(), метод String.Format() позволяет встраиватьв свой вызов обычный текст вместе со спецификаторами формата, причем в вызоведанного метода может быть указано несколько спецификаторов формата и значений.В качестве примера рассмотрим еще одну программу, отображающую текущую сумму и произведение чисел от 1 до 10.// Еще один пример применения метода Format().using System;class FormatDemo2 { static void Main() { int i; int sum = 0; int prod = 1; string str; /* Отобразить текущую сумму и произведение чисел от 1 до 10. */ for(i=1; i <= 10; i++) { sum += i; prod *= i; str = String.Format("Сумма:{0,3:D} Произведение:{1,8:D}", sum, prod); Console.WriteLine(str); } }}

Ниже приведен результат выполнения этой программы.Сумма: 1 Произведение: 1Сумма: 3 Произведение: 2Сумма: 6 Произведение: 6Сумма: 10 Произведение: 24Сумма: 15 Произведение: 120Сумма: 21 Произведение: 720Сумма: 28 Произведение: 5040Сумма: 36 Произведение: 40320Сумма: 45 Произведение: 362880Сумма: 55 Произведение: 3628800

Обратите особое внимание в данной программе на следующий оператор.str = String.Format("Сумма:{0,3:D} Произведение:{1,8:D}", sum, prod);

В этом операторе содержится вызов метода Format() с двумя спецификаторами формата: одним — для суммы (в переменной sum), а другим — для произведения(в переменной prod). Обратите также внимание на то, что номера аргументов указываются таким же образом, как и в вызове метода WriteLine(), и что в вызов методаFormat() включается обычный текст, как, например, строка "Сумма: ". Этот текстпередается данному методу и становится частью выводимой строки.Применение метода ToString() для форматирования данных

Для получения отформатированного строкового представления отдельного значения любого числового типа, которому соответствует встроенная структура, напримерInt32 или Double, можно воспользоваться методом ToString(). Этой цели служитприведенная ниже форма метода ToString().public string ToString("форматирующая строка")

В этой форме метод ToString() возвращает строковое представление вызывающего объекта в том формате, который определяет спецификатор "форматирующаястрока", передаваемый данному методу. Например, в следующей строке кода формируется строковое представление значения 188.99 в формате денежной единицы спомощью спецификатора формата С.string str = 189.99.ToString("С");

Обратите внимание на то, что спецификатор формата передается методуToString() непосредственно. В отличие от встроенных команд форматирования, используемых в вызовах методов WriteLine() и Format(), где для этой цели дополнительно указываются номер аргумента и ширина поля, в вызове метода ToString()

достаточно указать только спецификатор формата.Ниже приведен вариант примера предыдущей программы форматирования, измененный с целью продемонстрировать применение метода ToString() для полученияотформатированных строк. Этот вариант дает такой же результат, как и предыдущий.// Использовать метод ToString() для форматирования значений.using System;class ToStringDemo { static void Main() { double v = 17688.65849; double v2 = 0.15; int x = 21; string str = v.ToString("F2"); Console.WriteLine(str); str = v.ToString("N5"); Console.WriteLine(str); str = v.ToString("e"); Console.WriteLine (str); str = v.ToString("r"); Console.WriteLine(str); str = v2.ToString("p"); Console.WriteLine(str); str = x.ToString("X"); Console.WriteLine(str); str = x.ToString("D12"); Console.WriteLine(str); str = 189.99.ToString("C"); Console.WriteLine(str); }}Определение пользовательского формата числовых данных

Несмотря на всю полезность предопределенных спецификаторов формата числовых данных, в C# предоставляется также возможность определить пользовательский,т.е. свой собственный, формат, используя средство, называемое форматом изображения. Своим происхождением термин формат изображения обязан тому обстоятельству,что специальный формат пользователь определяет, задавая пример внешнего вида(т.е. изображение) выводимых данных. Такой подход вкратце упоминался в части Iэтой книги, а здесь он рассматривается более подробно.Символы-заполнители специального формата числовых данных

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