000130. Альтернативные условия
Альтернативные условия||wmysterio|wmysterio|[email protected]|||Вернёмся к условиям. Существует ещё один интересный вариант написания условий. Его называют альтернативным. Главным отличием от обычного условия в том, что альтернативные всегда возвращают значения. Работают они как функции
Синтаксис альтернативных условий таков:

ВозвращающийПраметр = ( Условие ) ? КодВыполняемыйКогдаУсловиеИстинно : КодВыполняемыйКогдаУсловиеЛожно ;
|
Возьмём функцию с предыдущего урока и назовём её 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, перегрузка операторов и прочие интересные вещи. Но об этом способе вы должны знать. Когда-нибудь пригодится
|665|1|0|42607467


png
196`84||alternativnye_uslovija|1392798701