000130. Альтернативные условия
Альтернативные условия||wmysterio|wmysterio|wmysterio@yandex.ru|||Вернёмся к условиям. Существует ещё один интересный вариант написания условий. Его называют альтернативным. Главным отличием от обычного условия в том, что альтернативные всегда возвращают значения. Работают они как функции Синтаксис альтернативных условий таков:
ВозвращающийПраметр = ( Условие ) ? КодВыполняемыйКогдаУсловиеИстинно : КодВыполняемыйКогдаУсловиеЛожно ; |
Возьмём функцию с предыдущего урока и назовём её 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); } } } |
Last updated