-->

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

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

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

1 ... 9 10 11 12 13 14 15 16 17 ... 188 ВПЕРЕД
Перейти на страницу:

Тип bool представляет два логических значения: "истина" и "ложь". Эти логические значения обозначаются в C# зарезервированными словами true и false соответственно. Следовательно, переменная или выражение типа bool будет приниматьодно из этих логических значений. Кроме того, в C# не определено взаимное преобразование логических и целых значений. Например, 1 не преобразуется в значение true,а 0 — в значение false.

В приведенном ниже примере программы демонстрируется применение типаbool.// Продемонстрировать применение типа bool.using System;class BoolDemo { static void Main() { bool b; b = false; Console.WriteLine("b равно " + b); b = true; Console.WriteLine("b равно " + b); // Логическое значение может управлять оператором if. if(b) Console.WriteLine("Выполняется."); b = false; if (b) Console.WriteLine("He выполняется."); // Результатом выполнения оператора отношения // является логическое значение. Console.WriteLine("10 > 9 равно " + (10 > 9)); }}

Эта программа дает следующий результат.b равно Falseb равно TrueВыполняется.10 > 9 равно True

В приведенной выше программе обнаруживаются три интересные особенности. Во-первых, при выводе логического значения типа bool с помощью методаWriteLine() на экране появляется значение "True" или "False". Во-вторых, самогозначения переменной типа bool достаточно для управления оператором if. Для этого не нужно, например, записывать оператор if следующим образом.if(b == true) ...

И в-третьих, результатом выполнения оператора отношения является логическоезначение. Именно поэтому в результате вычисления выражения 10 > 9 на экран выводится значение "True." Кроме того, выражение 10 > 9 следует заключить в скобки,поскольку оператор + имеет более высокий приоритет, чем оператор >.Некоторые возможности вывода

До сих пор при выводе с помощью метода WriteLine() данные отображалисьв формате, используемом по умолчанию. Но в среде .NET Framework определен достаточно развитый механизм форматирования, позволяющий во всех деталях управлять выводом данных. Форматированный ввод-вывод подробнее рассматривается далеев этой книге, а до тех пор полезно ознакомиться с некоторыми возможностями форматирования. Они позволяют указать, в каком именно виде следует выводить значенияс помощью метода WriteLine(). Благодаря этому выводимый результат выглядитболее привлекательно. Следует, однако, иметь в виду, что механизм форматированияподдерживает намного больше возможностей, а не только те, которые рассматриваются в этом разделе.

При выводе списков данных в предыдущих примерах программ каждый элементсписка приходилось отделять знаком +, как в следующей строке.Console.WriteLine("Вы заказали " + 2 + " предмета по цене $" + 3 + " каждый.");

Конечно, такой способ вывода числовой информации удобен, но он не позволяетуправлять внешним видом выводимой информации. Например, при выводе значенияс плавающей точкой нельзя определить количество отображаемых десятичных разрядов. Рассмотрим операторConsole.WriteLine("Деление 10/3 дает: " + 10.0/3.0);

который выводит следующий результат.Деление 10/3 дает: 3.33333333333333

В одних случаях такого вывода может оказаться достаточно, а в других — он просто недопустим. Например, в финансовых расчетах после десятичной точки принятоуказывать лишь два десятичных разряда.

Для управления форматированием числовых данных служит другая форма методаWriteLine(), позволяющая встраивать информацию форматирования, как показанониже.WriteLine("форматирующая строка", arg0, arg1, ... , argN);

В этой форме аргументы метода WriteLine() разделяются запятой, а не знаком +.А форматирующая строка состоит из двух элементов: обычных печатаемых символов,предназначенных для вывода в исходном виде, а также спецификаторов формата. Последние указываются в следующей общей форме:{argnum, width: fmt}

где argnum — номер выводимого аргумента, начиная с нуля; width — минимальнаяширина поля; fmt — формат. Параметры width и fmt являются необязательными.Если во время выполнения в форматирующей строке встречается спецификаторформата, то вместо него подставляется и отображается соответствующий аргумент,обозначаемый параметром argnum. Таким образом, местоположение спецификатораформата в форматирующей строке определяет место отображения соответствующихданных. Параметры width и fmt указывать необязательно. Это означает, что в своейпростейшей форме спецификатор формата обозначает конкретный отображаемыйаргумент. Например, спецификатор {0} обозначает аргумент arg0, спецификатор{1} — аргумент arg1 и т.д.

Начнем с самого простого примера. При выполнение оператораConsole.WriteLine("В феврале {0} или {1} дней.", 28, 29);

получается следующий результат.В феврале 28 или 29 дней

Как видите, значение 28 подставляется вместо спецификатора {0}, а значение 29 —вместо спецификатора {1}. Следовательно, спецификаторы формата обозначают место в строке, где отображаются соответствующие аргументы (в данном случае — значения 28 и 29). Кроме того, обратите внимание на то, что дополнительные значенияразделяются запятой, а не знаком +.

Ниже приведен видоизмененный вариант предыдущего оператора, в котором указывается ширина полей.Console.WriteLine("В феврале {0,10} или {1,5} дней.", 28, 29);

Выполнение этого оператора дает следующий результат.В феврале 28 или 29 дней.

Как видите, неиспользуемые части полей заполнены пробелами. Напомним, чтоминимальная ширина поля определяется параметром width. Если требуется, она может быть превышена при выводе результата.

Разумеется, аргументы, связанные с командой форматирования, не обязательнодолжны быть константами. Ниже приведен пример программы, которая выводит таблицу результатов возведения чисел в квадрат и куб. В ней команды форматированияиспользуются для вывода соответствующих значений.// Применить команды форматирования.using System;class DisplayOptions { static void Main() { int i; Console.WriteLine("ЧислоtКвадратtКуб"); for(i = 1; i < 10; i++) Console.WriteLine("{0}t{1}t{2}", i, i*i, i*i*i); }}

Результат выполнения этой программы выглядит следующим образом.Число Квадрат Куб1 1 12 4 83 9 274 16 645 25 1256 36 2167 49 3438 64 5129 81 729

В приведенных выше примерах сами выводимые значения не форматировались.Но ведь основное назначение спецификаторов формата — управлять внешним видомвыводимых данных. Чаще всего форматированию подлежат следующие типы данных:с плавающей точкой и десятичный. Самый простой способ указать формат данных —описать шаблон, который будет использоваться в методе WriteLine(). Для этого указывается образец требуемого формата с помощью символов #, обозначающих разрядычисел. Кроме того, можно указать десятичную точку и запятые, разделяющие цифры.Ниже приведен пример более подходящего вывода результата деления 10 на 3.Console.WriteLine("Деление 10/3 дает: (0:#.##)", 10.0/3.0);

Выполнение этого оператора приводит к следующему результату.Деление 10/3 дает: 3.33

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

Рассмотрим еще один пример. ОператорConsole.WriteLine("{0:###,###.##}", 123456.56);

дает следующий результат.123,456.56

Для вывода денежных сумм, например, рекомендуется использовать спецификаторформата С.decimal balance;balance = 12323.09m;Console.WriteLine("Текущий баланс равен {0:С}" , balance);

Результат выполнения этого фрагмента кода выводится в формате денежных сумм,указываемых в долларах США.Текущий баланс равен $12,323.09

Форматом С можно также воспользоваться, чтобы представить в более подходящем виде результат выполнения рассматривавшейся ранее программы расчета ценысо скидкой.// Использовать спецификатор формата С для вывода// результата в местной валюте.using System;class UseDecimal { static void Main() { decimal price; decimal discount; decimal discounted_price; // рассчитать цену со скидкой, price = 19.95m; discount = 0.15m; // норма скидки составляет 15% discounted_price = price - ( price * discount); Console.WriteLine("Цена со скидкой: {0:С}", discounted_price); }}

1 ... 9 10 11 12 13 14 15 16 17 ... 188 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название