-->

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

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

Полное руководство. С# 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 ... 15 16 17 18 19 20 21 22 23 ... 188 ВПЕРЕД
Перейти на страницу:

Результат выполнения этой программы приведен ниже.Результат и остаток от деления 10 / 3: 3 1Результат и остаток от деления 10.0 / 3.0: 3.33333333333333 1

Как видите, обе операции, % целочисленного типа и с плавающей точкой, даютодин и тот же остаток, равный 1.Операторы инкремента и декремента

Операторы инкремента (++) и декремента (--) были представлены в главе 2. Какстанет ясно в дальнейшем, они обладают рядом особых и довольно интересных свойств.Но сначала выясним основное назначение этих операторов.

Оператор инкремента увеличивает свой операнд на 1, а оператор декрементауменьшает операнд на 1. Следовательно, операторх++;

равнозначен операторух = x + 1;

а операторх--;

равносилен операторух = х - 1;

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

Оба оператора инкремента и декремента можно указывать до операнда (в префиксной форме) или же после операнда (в постфиксной форме). Например, операторх = х + 1;

может быть записан в следующем виде:++х; // префиксная форма

или же в таком виде:х++; // постфиксная форма

В приведенном выше примере форма инкремента (префиксная или постфиксная)особого значения не имеет. Но если оператор инкремента или декремента используется в длинном выражении, то отличие в форме его записи уже имеет значение. Когдаоператор инкремента или декремента предшествует своему операнду, то результатомоперации становится значение операнда после инкремента или декремента. А когдаоператор инкремента или декремента следует после своего операнда, то результатомоперации становится значение операнда до инкремента или декремента. Рассмотримследующий фрагмент кода.х = 10;у = ++х;

В данном случае значение переменной у будет установлено равным 11, посколькузначение переменной х сначала увеличивается на 1, а затем присваивается переменнойу. Но во фрагменте кодах = 10;у = х++;

значение переменной у будет установлено равным 10, так как в этом случае значениепеременной х сначала присваивается переменной у, а затем увеличивается на 1. В обоих случаях значение переменной х оказывается равным 11. Отличие состоит лишь том,когда именно это значение станет равным 11: до или после его присваивания переменной у.

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

Выполнение этой программы дает следующий результат.Ряд чисел, полученных с помощью оператора у = у + х++1361015142128364555Ряд чисел, полученных с помощью оператора у = у + ++х;25914202735445465

Как подтверждает приведенный выше результат, в оператореу = у + х++;

первоначальное значение переменной х складывается с самим собой, а полученныйрезультат присваивается переменной у. После этого значение переменной х увеличивается на 1. Но в оператореу = у + ++х;

значение переменной х сначала увеличивается на 1, затем складывается с первоначальным значением этой же переменной, а полученный результат присваивается переменной у. Как следует из приведенного выше результата, простая замена префикснойформы записи оператора ++х постфиксной формой х++ приводит к существенномуизменению последовательного ряда получаемых чисел.

И еще одно замечание по поводу приведенного выше примера: не пугайтесь выражений, подобных следующему:у + ++x

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

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

Ниже перечислены операторы отношения.ОператорЗначение==Равно!=Не равно>Больше<Меньше>Больше или равно<=Меньше или равно

К числу логических относятся операторы, приведенные ниже.

Результатом выполнения оператора отношения или логического оператора является логическое значение типа bool.

В целом, объекты можно сравнивать на равенство или неравенство, используя операторы отношения == и !=. А операторы сравнения <, >, <= или >= могут применятьсятолько к тем типам данных, которые поддерживают отношение порядка. Следовательно, операторы отношения можно применять ко всем числовым типам данных. Но значения типа bool могут сравниваться только на равенство или неравенство, посколькуистинные (true) и ложные (false) значения не упорядочиваются. Например, сравнение true > false в C# не имеет смысла.

Операнды логических операторов должны относиться к типу bool, а результат выполнения логической операции также относится к типу bool. Логические операторы&, |, ^ и ! поддерживают основные логические операции И, ИЛИ, исключающее ИЛИи НЕ в соответствии с приведенной ниже таблицей истинности.pqp & qp | qp ^ q|Pfalsefalsefalsefalsefalsetruetruefalsefalsetruetruefalsefalsetruefalsetruetruetruetruetruetruetruefalsefalse

Как следует из приведенной выше таблицы, результатом выполнения логическойоперации исключающее ИЛИ будет истинное значение (true), если один и толькоодин ее операнд имеет значение true.

Ниже приведен пример программы, демонстрирующий применение несколькихоператоров отношения и логических операторов.// Продемонстрировать применение операторов// отношения и логических операторов.using System;class RelLogOps { static void Main() { int i, j; bool b1, b2; i = 10; j = 11; if(i < j) Console.WriteLine("i < j"); if(i <= j) Console.WriteLine("i <= j"); if(i != j) Console.WriteLine("i != j"); if(i == j) Console.WriteLine("Нельзя выполнить"); if(i >= j) Console.WriteLine("Нельзя выполнить"); if(i > j) Console.WriteLine("Нельзя выполнить"); b1 = truer b2 = false; if(b1 & b2) Console.WriteLine("Нельзя выполнить"); if(!(b1 & b2)) Console.WriteLine("!(b1 & b2) — true"); if(b1 | b2) Console.WriteLine("b1 | b2 - true"); if(b1 ^ b2) Console.WriteLine("bl ^ b2 — true"); }}

Выполнение этой программы дает следующий результат.i < ji <= ji != j!(b1 & b2) — trueb1 | b2 — trueb1 ^ b2 — true

Логические операторы в C# выполняют наиболее распространенные логическиеоперации. Тем не менее существует ряд операций, выполняемых по правилам формальной логики. Эти логические операции могут быть построены с помощью логических операторов, поддерживаемых в С#. Следовательно, в C# предусмотрен такой набор логических операторов, которого достаточно для построения практически любойлогической операции, в том числе импликации. Импликация — это двоичная операция, результатом которой является ложное значение только в том случае, если левыйее операнд имеет истинное значение, а правый — ложное. (Операция импликации отражает следующий принцип: истина не может подразумевать ложь.) Ниже приведенатаблица истинности для операции импликации.pqРезультат импликации p и qtruetruetruetruefalsefalsefalsefalsetruefalsetruetrue

1 ... 15 16 17 18 19 20 21 22 23 ... 188 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название