Рейтинг - 5.0 (1)

Вернёмся к условиям. Существует ещё один интересный вариант написания условий. Его называют альтернативным. Главным отличием от обычного условия в том, что альтернативные всегда возвращают значения. Работают они как функции smile Синтаксис альтернативных условий таков:
ВозвращающийПраметр = ( Условие ) ? КодВыполняемыйКогдаУсловиеИстинно : КодВыполняемыйКогдаУсловиеЛожно ;
Возьмём функцию с предыдущего урока и назовём её ValueOperation. Добавим в параметры ещё символьный тип - char. Теперь функция принимает два числа и символ. Для чего нужен символ спросите вы? Что бы в зависимости от указанного символа эти числа выполняли разные арифметические операции. Сама функция теперь будет выглядеть так:
public static void ValueOperation(float x, float y, char c) {
     float d;

     Console.WriteLine("Результат: Дробное {0}", d );
}
Мы заведём переменную, которая будет принимать результат альтернативного условия. Теперь напишем код условия:
d = ( c == '+' ) ? x + y : d = ( c == '-' ) ? x - y :d = ( c == '*' ) ? x * y : d = ( c == '/' ) ? x / y : -1;
Согласно условию, если в параметр c равный +, то результатом условия будет сумма двух чисел. Если символ равен -, то будет вычитание и.т.п. если символ не соответствует ни одному условию, то результатом будет -1. Я перенёс строки условия, что бы его было легче прочитать и теперь наша программа имеет следующий вид:
using System;

namespace Consol {
    class Program {
        static void Main() {
            ValueOperation( 10, 15, '+' );
            ValueOperation( 30, 15.5F, '-' );
            ValueOperation( -100.0F, 50.0F, '*' );
            ValueOperation( 20.0F, 2.0F, '/' );
            Console.ReadKey();
        }

        public static void ValueOperation(float x, float y, char c) {
            float d;
            d = ( c == '+' ) ? x + y :
            d = ( c == '-' ) ? x - y :
            d = ( c == '*' ) ? x * y :
            d = ( c == '/' ) ? x / y : -1;
            Console.WriteLine("Результат: {0}\t {1}", c, d);
        }
    }
}
Результат выполнения программы:

В прочем альтернативные условия я вижу в крайне редко, так как существуют такие вещи как switch, перегрузка операторов и прочие интересные вещи. Но об этом способе вы должны знать. Когда-нибудь пригодится smile

Теги: Альтернативные условия
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
Кто из главных героев GTA 5 круче?
Всего ответов: 7
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня нас посетили:
Реклама