Герберт Шилдт - C# 4.0: полное руководство Страница 23

Тут можно читать бесплатно Герберт Шилдт - C# 4.0: полное руководство. Жанр: Компьютеры и Интернет / Программирование, год -. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Герберт Шилдт - C# 4.0: полное руководство

Герберт Шилдт - C# 4.0: полное руководство краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Герберт Шилдт - C# 4.0: полное руководство» бесплатно полную версию:
В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт - C# 4.0: полное руководство читать онлайн бесплатно

Герберт Шилдт - C# 4.0: полное руководство - читать книгу онлайн бесплатно, автор Герберт Шилдт

Ниже перечислены операторы отношения.

Оператор    Значение

==          Равно

!=          Не равно

>           Больше

<           Меньше

>=          Больше или равно

<=          Меньше или равно

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

Оператор    Значение

&           И

|           ИЛИ

^           Исключающее ИЛИ

&&          Укороченное И

||          Укороченное ИЛИ

!           НЕ

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

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

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

p     q     p & q  p | q  p ^ q  !p

false false false  false  false  true

true  false false  true   true   false

false true  false  true   true   true

true  true  true   true   false  false

Как следует из приведенной выше таблицы, результатом выполнения логической операции исключающее ИЛИ будет истинное значение (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 = true;

    b2 = false;

    if(b1 & b2) Console.WriteLine("Нельзя выполнить");

    if(!(b1 & b2)) Console.WriteLine("!(b1 & b2) — true");

    if(b1 | b2) Console.WriteLine("bl I b2 - true");

    if(b1 ^ b2) Console.WriteLine("bl ^ b2 — true");

  }

}

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

i < j

i <= j

i != j

!(b1 & b2) — true 

b1 | b2 — true

b1 A b2 - true

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

p       q       Результат импликации p и q

true    true    true

true    false   false

false   false   true

false   true    true

Операция импликации может быть построена на основе комбинации логических операторов ! и |, как в приведенной ниже строке кода.

! р I q

В следующем примере программы демонстрируется подобная реализация операции импликации.

// Построение операции импликации в С#.

using System;

class Implication {

  static void Main() {

    bool p=false, q=false;

    int i, j;

    for(i =0; i < 2; i++) {

      for(j = 0; j < 2; j++) {

        if(i==0) = true;

        if(i==1) p = false;

        if(j==0) q = true;

        if(j==1) q = false;

          Console.WriteLine("p равно " + p + ", q равно " + q);

        if ( !p | q)

          Console.WriteLine("Результат импликации " + p +

                " и " + q + " равен " + true);

        Console.WriteLine();

      }

    }

  }

}

Результат выполнения этой программы выглядит так.

p равно True, q равно True

Результат импликации True и True равен True

p равно True, q равно False

p равно False, q равно True

Результат импликации False и True равен True

p равно False, q равно False

Результат импликации False и False равен True

Укороченные логические операторы

В C# предусмотрены также специальные, укороченные, варианты логических операторов И и ИЛИ, предназначенные для получения более эффективного кода. Поясним это на следующих примерах логических операций. Если первый операнд логической операции И имеет ложное значение (false), то ее результат будет иметь ложное значение независимо от значения второго операнда. Если же первый операнд логической операции ИЛИ имеет истинное значение (true), то ее результат будет иметь истинное значение независимо от значения второго операнда. Благодаря тому что значение второго операнда в этих операциях вычислять не нужно, экономится время и повышается эффективность кода.

Укороченная логическая операция И выполняется с помощью оператора &&, а укороченная логическая операция ИЛИ — с помощью оператора | |. Этим укороченным логическим операторам соответствуют обычные логические операторы & и |. Единственное отличие укороченного логического оператора от обычного заключается в том, что второй его операнд вычисляется только по мере необходимости. -

В приведенном ниже примере программы демонстрируется применение укороченного логического оператора И. В этой программе с помощью операции деления по модулю определяется следующее: делится ли значение переменной d на значение переменной п нацело. Если остаток от деления n/d равен нулю, то п делится на d нацело.

Но поскольку данная операция подразумевает деление, то для проверки условия деления на нуль служит укороченный логический оператор И.

// Продемонстрировать применение укороченных логических операторов.

using System;

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.