000130. Альтернативные условия
Last updated
Last updated
Альтернативные условия||wmysterio|wmysterio|wmysterio@yandex.ru|||Вернёмся к условиям. Существует ещё один интересный вариант написания условий. Его называют альтернативным. Главным отличием от обычного условия в том, что альтернативные всегда возвращают значения. Работают они как функции Синтаксис альтернативных условий таков:
Возьмём функцию с предыдущего урока и назовём её ValueOperation. Добавим в параметры ещё символьный тип - char. Теперь функция принимает два числа и символ. Для чего нужен символ спросите вы? Что бы в зависимости от указанного символа эти числа выполняли разные арифметические операции. Сама функция теперь будет выглядеть так:
Мы заведём переменную, которая будет принимать результат альтернативного условия. Теперь напишем код условия:
Согласно условию, если в параметр c равный +, то результатом условия будет сумма двух чисел. Если символ равен -, то будет вычитание и.т.п. если символ не соответствует ни одному условию, то результатом будет -1. Я перенёс строки условия, что бы его было легче прочитать и теперь наша программа имеет следующий вид:
Результат выполнения программы:
В прочем альтернативные условия я вижу в крайне редко, так как существуют такие вещи как switch, перегрузка операторов и прочие интересные вещи. Но об этом способе вы должны знать. Когда-нибудь пригодится |665|1|0|42607467png
196`84||alternativnye_uslovija|1392798701
ВозвращающийПраметр = ( Условие ) ? КодВыполняемыйКогдаУсловиеИстинно : КодВыполняемыйКогдаУсловиеЛожно ;
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;
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); } } }