您可以编写一个扩展方法:
public static T Clamp<T>(this T val, T min, T max) where T : IComparable<T>{ if (val.CompareTo(min) < 0) return min; else if(val.CompareTo(max) > 0) return max; else return val;}编辑:扩展方法进入静态类-
由于这是一个低级功能,它可能应该进入项目的某些核心名称空间。然后,您可以在包含名称空间的using指令的任何代码文件中使用该方法,例如
using Core.ExtensionMethodsint i = 4.Clamp(1, 3);
.NET Core 2.0
从.NET Core 2.0开始,
System.Math现在有一种
Clamp方法可以代替使用:
using System;int i = Math.Clamp(4, 1, 3);



