gpt4 book ai didi

c# - If value in range(x,y) 函数 c#

转载 作者:太空狗 更新时间:2023-10-29 22:05:19 25 4
gpt4 key购买 nike

C# 是否具有为表达式返回 bool 值的函数:if(value.inRange(-1.0,1.0)){}

最佳答案

描述

我建议你使用扩展方法。

Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.

您可以以通用方式创建此扩展方法(感谢 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 的广泛讨论,他说

I'd probably go with IsInOpenInterval as suggested in an earlier comment. But I'm not sure if programmers without a maths background will understand that terminology.

您也可以将函数命名为 IsInOpenInterval

更多信息

关于c# - If value in range(x,y) 函数 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776624/

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