gpt4 book ai didi

c# - C# 的类 Ruby 'unless'?

转载 作者:可可西里 更新时间:2023-11-01 08:02:27 25 4
gpt4 key购买 nike

有没有办法在 C# 中做类似的事情?

即。

i++ unless i > 5;

还有一个例子

weatherText = "Weather is good!" unless isWeatherBad

最佳答案

您可以使用扩展方法实现类似的目的。例如:

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);

关于c# - C# 的类 Ruby 'unless'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com