当前位置: 首页 > 编程语言 > C#

ifvaluefunctioninrange(x,y)c#分享

时间:2023-04-10 18:26:36 C#

ifvaluefunctioninrange(x,y)c#c#有一个返回表达式布尔值的函数:if(value.inRange(-1.0,1.0)){}?描述我建议你使用扩展方法。扩展方法允许您将方法“添加”到现有类型,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。您可以以通用方式创建此扩展方法(感谢建议它的digEmAll和CodeInChaos)。然后,您可以在每个实现IComparable的对象上使用它。解决方案publicstaticclassIComparableExtension{publicstaticboolInRange(thisTvalue,Tfrom,Tto)whereT:IComparable{returnvalue.CompareTo(from)>=1&&value.CompareTo(to)然后你做doublet=0.5;boolisInRange=t.InRange(-1.0,1.0);完美主义者的更新在与@CodeInChaos进行广泛讨论后,我可能会按照先前评论中的建议使用IsInOpenInterval。但我不确定没有数学背景的程序员是否理解这个术语。您还可以将函数命名为IsInOpenInterval。更多信息例如,使用Math.Abs??(value)不是那么清楚,但它可能是另一种方式:Enumerable.Range(-1,2).Any(x=>x==value)Enumerable.Range(-1,2).Any(x=>x==value)。顺便说一下,没有编译,从手机上写。编辑我正在使用Enumerable.Range编辑1如果我们谈论的是浮点数,那么创建一个扩展方法就足够了,它通过指定起始编号和偏移步骤并在对结果集合执行Any之后生成数字序列,如那样回答。以上就是C#学习教程:取值函数在范围(x,y)c#分享的全部内容,如果对大家有用,还需要详细了解C#学习教程,希望大家多多关注---本文来自网络收藏,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: