C# 范围判断函数

封装范围函数

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# 范围判断函数,从此告别重复编写范围判断代码的烦恼icon-default.png?t=O83Ahttps://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日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值