C#是否具有返回表达式的 bool 值的函数:if(value.inRange(-1.0,1.0)){}
?
最佳答案
描述
我建议您使用扩展方法。
您可以以通用方式创建此扩展方法(建议使用digEmAll和CodeInChaos)。然后,您可以在实现IComparable
的每个对象上使用它。
解决方案
public static class IComparableExtension
{
public static bool InRange<T>(this T value, T from, T to) where T : IComparable<T>
{
return value.CompareTo(from) >= 1 && value.CompareTo(to) <= -1;
}
}
那你做这个
double t = 0.5;
bool isInRange = t.InRange(-1.0, 1.0);
完美主义者的更新
经过与@CodeInChaos的广泛讨论后,他说
您也可以将函数命名为
IsInOpenInterval
。更多信息