封装范围函数
public static class CommonUtil
{
/// <summary>
/// 范围判断函数,检查给定的值是否在指定的最小值和最大值之间。
/// 例如,可以用来判断当前日期是否在开始日期和结束日期之间。
/// 该方法适用于任何实现了 IComparable 接口的类型,比如 int、double、DateTime 等等。
/// </summary>
/// <typeparam name="T">实现了 IComparable 接口的泛型类型参数</typeparam>
/// <param name="value">要比较的值</param>
/// <param name="min">范围的最小值</param>
/// <param name="max">范围的最大值</param>
/// <returns>如果 value 在 min 和 max 之间,则返回 true;否则返回 false</returns>
public static bool Between<T>(T value, T min, T max) where T : IComparable<T>
{
// 使用 CompareTo 方法比较 value、min 和 max 的大小关系
// value 必须大于或等于 min,并且小于或等于 max
// 这里可以根据实际业务场景需求调整
return value.CompareTo(min) >= 0 && value.CompareTo(max) <= 0;
}
}
调用
class Program
{
static void Main(string[] args)
{
// 测试数字
int num = 5;
if (CommonUtil.Between(num, 1, 10))
{
Console.WriteLine($"{num} 在 1 和 10 之间。");
}
else
{
Console.WriteLine($"{num} 不在 1 和 10 之间。");
}
// 测试日期
DateTime startDate = new DateTime(2024, 9, 25);
DateTime endDate = new DateTime(2024, 10, 25);
DateTime currentDate = DateTime.Now;
if (CommonUtil.Between(currentDate, startDate, endDate))
{
Console.WriteLine($"当前日期在 {startDate.ToShortDateString()} 和 {endDate.ToShortDateString()} 之间。");
}
else
{
Console.WriteLine($"当前日期不在 {startDate.ToShortDateString()} 和 {endDate.ToShortDateString()} 之间。");
}
}
}
参考链接
封装一个 C# 范围判断函数,从此告别重复编写范围判断代码的烦恼
封装一个 C# 范围判断函数,从此告别重复编写范围判断代码的烦恼https://mp.weixin.qq.com/s?__biz=Mzg4MjE3ODM0NA==&mid=2247485006&idx=1&sn=83fd667363a027e08a583adc92c3658f&chksm=cecc1bc6c71a5ad62b4331bfde7ba64999bd2faf0c369b394dc8a39b6b54577f07d8198d31df&mpshare=1&scene=1&srcid=1221kdLvuqpkAKIlHdvZdp7C&sharer_shareinfo=7ff4525f9f54fccf522f5e2abe77e42a&sharer_shareinfo_first=56b292a8c8ffce83f922a7e2e4d64eab#rd特此记录
anlog
2024年12月22日