C# RangeHelper

    /// <summary>
    /// Range Helper
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class RangeHelper<T> where T : IComparable<T>
    {
        /// <summary>
        /// 为val返回指定范围内合法的值
        /// </summary>
        /// <param name="val"></param>
        /// <param name="min"></param>
        /// <param name="max"></param>
        /// <returns></returns>
        public static T ValidateRange(T val, T min, T max)
        {
            val = val.CompareTo(min) < 0 ? min : val;
            val = val.CompareTo(max) > 0 ? max : val;
            return val;
        }
    }

eg.

CurrentPage = RangeHelper<int>.ValidateRange(CurrentPage, 1, TotalPage);

IComparable.CompareTo 方法用法说明

https://msdn.microsoft.com/zh-cn/library/system.icomparable.compareto.aspx

时间: 2024-08-01 00:46:35

C# RangeHelper的相关文章

VC++自释放指针、自释放虚拟内存、自关闭句柄、局部作用域回调函数调用等辅助开发类

#pragma once #ifndef NULL #define NULL 0 #endif namespace RangeHelper { template <class T> class CAutoDeletePtr { //自动删除指针 public: CAutoDeletePtr() : m_ptr(NULL) { } CAutoDeletePtr(T* ptr) { m_ptr = ptr; } ~CAutoDeletePtr() { Free(); } void Free() {