weatherText = "Weather is good!" unless isWeatherBad
Ответ 1
Как насчет:
if (i<=5) i++;
if (!(i>5)) i++; тоже будет работать.
Подсказка: Точный эквивалент unless.
Ответ 2
Вы можете добиться чего-то подобного с помощью методов расширения.
Например:
public static class RubyExt
{
public static void Unless(this Action action, bool condition)
{
if (!condition)
action.Invoke();
}
}
а затем используйте его как
int i = 4;
new Action(() => i++).Unless(i < 5);
Console.WriteLine(i); // will produce 4
new Action(() => i++).Unless(i < 1);
Console.WriteLine(i); // will produce 5
var isWeatherBad = false;
var weatherText = "Weather is nice";
new Action(() => weatherText = "Weather is good!").Unless(isWeatherBad);
Console.WriteLine(weatherText);
Ответ 3
EDIT: это неправильно, поскольку Ruby unless НЕ работает как моя идея. Я ответил слишком быстро.
Неверный ответ ниже
Ближайшим синтаксическим отношением к базовым ключевым словам и операторам будет что-то вроде
int x = 0;
do
{
x++;
} while (x < 5);
Ответ 4
Существует тройной ?: -оператор:
i = i > 5 ? i : i + 1
//if i>5 then i, else i++
(Предполагая, что код ruby означает, что я думаю)