封装范围函数
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日