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) < ? min : val;
val = val.CompareTo(max) > ? 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
C# RangeHelper的更多相关文章
随机推荐
- html 打印代码,支持翻页
ylbtech_html_print html打印代码,支持翻页 <html> <head> <meta name=vs_targetSchema content=&qu ...
- django开发环境部署之pip、virtualenv、virtualenvwrapper
step1:安装pip 在python中可以使用easy_install和pip安装python拓展但推荐使用pip Don't use easy_install, unless you like s ...
- appium 几点总结(转)
1. 建立session时常用命令: DesiredCapabilities cap = new DesiredCapabilities(); cap.SetCapability("brow ...
- OpenGL变换【转】
http://www.cnblogs.com/hefee/p/3811099.html OpenGL变换 概述 OpenGL变换矩阵 实例:GL_MODELVIEW矩阵 实例:GL_PROJECTIO ...
- 【Hadoop】Hadoop DataNode节点超时时间设置
hadoop datanode节点超时时间设置 datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间 ...
- zabbix通过snmp监控windows主机
1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...
- 关于批量插入数据之我见(100万级别的数据,mysql)
因前段时间去面试,问到怎样高效向数据库插入10万条记录,之前没处理过类似问题.也没看过相关资料,结果没答上来,今天就查了些资料.总结出三种方法: 測试数据库为mysql!!! 方法一: public ...
- 冰点文库下载器V3.1.4
下载百度文库的利器 http://www.bingdian001.com/?softid=3&ver=3.1.4可以下载
- 10分钟-jQuery-基础选择器
1.id 选择器 jquery能使用CSS选择器来操作网页中的标签元素.假设你想要通过一个id号去查找一个元素,就能够使用例如以下格式的选择器: $("#my_id") 当中#my ...
- 解决长时间计划任务rsync同步进程数过多
用rsync同步远程服务器,由于设置的的同步间隔较短(5分钟),这样一旦网速问题导致5分钟内同步不完.就会倒是同步紊乱,导致系统中很多rsync进程(# ps -aux | grep rsync) ...