-->

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

1 ... 17 18 19 20 21 22 23 24 25 ... 188 ВПЕРЕД
Перейти на страницу:

Ниже перечислены составные операторы присваивания для арифметических и логических операций.+=-=*=/=%=&=|=^=

Составные операторы присваивания записываются более кратко, чем их несоставные эквиваленты. Поэтому их иногда еще называют укороченными операторамиприсваивания.

У составных операторов присваивания имеются два главных преимущества. Во-первых, они более компактны, чем их "несокращенные" эквиваленты. И во-вторых, онидают более эффективный исполняемый код, поскольку левый операнд этих оператороввычисляется только один раз. Именно по этим причинам составные операторы присваивания чаще всего применяются в программах, профессионально написанных на С#.Поразрядные операторы

В C# предусмотрен ряд поразрядных операторов, расширяющих круг задач, для решения которых можно применять С#. Поразрядные операторы воздействуют на отдельные двоичные разряды (биты) своих операндов. Они определены только для целочисленных операндов, поэтому их нельзя применять к данным типа bool, float илиdouble.

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

Таблица 4.1. Поразрядные операторыОператорЗначение&Поразрядное И|Поразрядное ИЛИ^Поразрядное исключающее ИЛИ>Сдвиг вправо<<Сдвиг влево~Дополнение до 1 (унарный оператор НЕ)Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ

Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ обозначаются следующим образом: &, |, ^ и ~. Они выполняют те же функции, что и их логические аналоги,рассмотренные выше. Но в отличие от логических операторов, поразрядные операторы действуют на уровне отдельных двоичных разрядов. Ниже приведены результатыпоразрядных операций с двоичными единицами и нулями.Рqр & qр | qр ^ q000001100110010111111100

С точки зрения наиболее распространенного применения поразрядную операциюИ можно рассматривать как способ подавления отдельных двоичных разрядов. Этоозначает, что если какой-нибудь бит в любом из операндов равен 0, то соответствующий бит результата будет сброшен в 0. Например:1101 00111010 1010& __________1000 0010

В приведенном ниже примере программы демонстрируется применение поразрядного оператора & для преобразования нечетных чисел в четные. Для этой целидостаточно сбросить младший разряд числа. Например, число 9 имеет следующийдвоичный вид: 0000 1001. Если сбросить младший разряд этого числа, то оно станетчислом 8, а в двоичной форме — 0000 1000.// Применить поразрядный оператор И, чтобы сделать число четным.using System;class MakeEven { static void Main() { ushort num; ushort i; for(i = 1; i <= 10; i++) { num = i; Console.WriteLine("num: " + num); num = (ushort) (num & 0xFFFE); Console.WriteLine("num после сброса младшего разряда: " + num + "n"); } }}

Результат выполнения этой программы приведен ниже.num: 1num после сброса младшего разряда: 0num: 2num после сброса младшего разряда: 2num: 3num после сброса младшего разряда: 2num: 4num после сброса младшего разряда: 4num: 5num после сброса младшего разряда: 4num: 6num после сброса младшего разряда: 6num: 7num после сброса младшего разряда: 6num: 8num после сброса младшего разряда: 8num: 9num после сброса младшего разряда: 8num: 10num после сброса младшего разряда: 10

Шестнадцатеричное значение 0xFFFE, используемое в поразрядном оператореИ, имеет следующую двоичную форму: 1111 1111 1111 1110. Таким образом, поразрядная операция И оставляет без изменения все двоичные разряды в числовом значении переменной num, кроме младшего разряда, который сбрасывается в нуль. В итогечетные числа не претерпевают никаких изменений, а нечетные уменьшаются на 1 истановятся четными.

Поразрядным оператором И удобно также пользоваться для определения установленного или сброшенного состояния отдельного двоичного разряда. В следующемпримере программы определяется, является ли число нечетным.// Применить поразрядный оператор И, чтобы определить,// является ли число нечетным.using System;class IsOdd { static void Main() { ushort num; num = 10; if((num & 1) == 1) Console.WriteLine("He выводится."); num = 11; if((num & 1) == 1) Console.WriteLine(num + " — нечетное число."); }}

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

В обоих операторах if из приведенной выше программы выполняется поразряднаяоперация И над числовыми значениями переменной num и 1. Если младший двоичный разряд числового значения переменной num установлен, т.е. содержит двоичную1, то результат поразрядной операции num & 1 оказывается равным 1. В противномслучае он равен нулю. Поэтому оператор if может быть выполнен успешно лишь втом случае, если проверяемое число оказывается нечетным.

Возможностью проверять состояние отдельных двоичных разрядов с помощью поразрядного оператора & можно воспользоваться для написания программы, в которойотдельные двоичные разряды проверяемого значения типа byte приводятся в двоичной форме. Ниже показан один из способов написания такой программы.// Показать биты, составляющие байт.using System;class ShowBits { static void Main() { int t; byte val; val = 123; for (t=l28; t > 0; t = t/2) { if((val & t) != 0) Console.Write("1 "); if((val & t) == 0) Console.Write("0 "); } }}

Выполнение этой программы дает следующий результат.0 1 1 1 1 0 1 1

В цикле for из приведенной выше программы каждый бит значения переменнойval проверяется с помощью поразрядного оператора И, чтобы выяснить, установленли этот бит или сброшен. Если он установлен, то выводится цифра 1, а если сброшен,то выводится цифра 0.

Поразрядный оператор ИЛИ может быть использован для установки отдельных двоичных разрядов. Если в 1 установлен какой-нибудь бит в любом из операндов этого оператора, то в 1 будет установлен и соответствующий бит в другом операнде. Например:1101 00111010 1010| __________1111 1011

Используя поразрядный оператор ИЛИ, можно без особого труда превратить упоминавшийся выше пример программы, преобразующей нечетные числа в четные,в приведенный ниже обратный пример, где четные числа преобразуются в нечетные.// Применить поразрядный оператор ИЛИ, чтобы сделать число нечетным.using System;class MakeOdd { static void Main() { ushort num; ushort i; for(i = 1; i <= 10; i++) { num = i; Console.WriteLine("num: " + num); num = (ushort) (num | 1); Console.WriteLine("num после установки младшего разряда: " + num + "n"); } }}

Результат выполнения этой программы выглядит следующим образом.num: 1num после установки младшего разряда: 1num: 2num после установки младшего разряда: 3num: 3num после установки младшего разряда: 3num: 4num после установки младшего разряда: 5num: 5num после установки младшего разряда: 5num: 6num после установки младшего разряда: 7num: 7num после установки младшего разряда: 7num: 8num после установки младшего разряда: 9num: 9num после установки младшего разряда: 9num: 10num после установки младшего разряда: 11

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

Поразрядный оператор исключающее ИЛИ устанавливает двоичный разряд операнда в том и только в том случае, если двоичные разряды сравниваемых операндовоказываются разными, как в приведенном ниже примере.0111 11111011 1001^ __________1100 0110

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