博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#ASP.NET 通用扩展函数之 IsWhat 简单好用
阅读量:5043 次
发布时间:2019-06-12

本文共 6123 字,大约阅读时间需要 20 分钟。

好东西都需要人去整理、分类

 

 

注意:需要引用命名空间 SyntacticSugar

用法:

/***扩展函数名细***/            //【IsInRange】              int num = 100;            //以前写法            if (num > 100 & num < 1000) { }            //现在写法            if (num.IsInRange(100, 1000)) { } //datetime类型也支持            //【IsNullOrEmpty】            object s = "";            //以前写法            if (s == null || string.IsNullOrEmpty(s.ToString())) { }            //现在写法            if (s.IsNullOrEmpty()) { }            //更顺手了没有 }            //【IsIn】            string value = "a";            //以前写法我在很多项目中看到            if (value == "a" || value == "b" || value == "c") {             }            //现在写法            if (value.IsIn("a", "b", "c")) {                         }            //【IsValuable与IsNullOrEmpty相反】            string ss = "";            //以前写法            if (!string.IsNullOrEmpty(ss)) { }            //现在写法            if (s.IsValuable()) { }            List
list = null; //以前写法 if (list != null && list.Count > 0) { } //现在写法 if (list.IsValuable()) { } //IsIDcard if ("32061119810104311x".IsIDcard()) { } //IsTelephone if ("0513-85669884".IsTelephone()) { } //IsMatch 节约你引用Regex的命名空间了 if ("我中国人12".IsMatch(@"人\d{2}")) { } //下面还有很多太简单了的就不介绍了 //IsZero //IsInt //IsNoInt //IsMoney //IsEamil //IsMobile

  

 

源码:

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;namespace SyntacticSugar{    ///     /// ** 描述:逻辑判段是什么?    /// ** 创始时间:2015-5-29    /// ** 修改时间:-    /// ** 作者:sunkaixuan    /// ** 使用说明:http://www.cnblogs.com/sunkaixuan/p/4539654.html    ///     public static class IsWhat    {        ///         /// 值在的范围?        ///         ///         /// 大于等于begin        /// 小于等于end        /// 
public static bool IsInRange(this int o, int begin, int end) { return o >= begin && o <= end; } /// /// 值在的范围? /// /// /// 大于等于begin /// 小于等于end ///
public static bool IsInRange(this DateTime o, DateTime begin, DateTime end) { return o >= begin && o <= end; } /// /// 在里面吗? /// ///
/// /// ///
public static bool IsIn
(this T o, params T[] values) { return values.Contains(o); } ///
/// 是null或""? /// ///
public static bool IsNullOrEmpty(this object o) { if (o == null || o == DBNull.Value) return true; return o.ToString() == ""; } ///
/// 是null或""? /// ///
public static bool IsNullOrEmpty(this Guid? o) { if (o == null) return true; return o == Guid.Empty; } ///
/// 是null或""? /// ///
public static bool IsNullOrEmpty(this Guid o) { if (o == null) return true; return o == Guid.Empty; } ///
/// 有值?(与IsNullOrEmpty相反) /// ///
public static bool IsValuable(this object o) { if (o == null) return false; return o.ToString() != ""; } ///
/// 有值?(与IsNullOrEmpty相反) /// ///
public static bool IsValuable(this IEnumerable
o) { if (o == null || o.Count() == 0) return false; return true; } /// /// 是零? /// /// ///
public static bool IsZero(this object o) { return (o == null || o.ToString() == "0"); } /// /// 是INT? /// /// ///
public static bool IsInt(this object o) { if (o == null) return false; return Regex.IsMatch(o.ToString(), @"^\d+$"); } /// /// 不是INT? /// /// ///
public static bool IsNoInt(this object o) { if (o == null) return true; return !Regex.IsMatch(o.ToString(), @"^\d+$"); } /// /// 是金钱? /// /// ///
public static bool IsMoney(this object o) { if (o == null) return false; double outValue = 0; return double.TryParse(o.ToString(), out outValue); } /// /// 是邮箱? /// /// ///
public static bool IsEamil(this object o) { if (o == null) return false; return Regex.IsMatch(o.ToString(), @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"); } /// /// 是手机? /// /// ///
public static bool IsMobile(this object o) { if (o == null) return false; return Regex.IsMatch(o.ToString(), @"^\d{11}$"); } /// /// 是座机? /// public static bool IsTelephone(this object o) { if (o == null) return false; return System.Text.RegularExpressions.Regex.IsMatch(o.ToString(), @"^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}$"); } /// /// 是身份证? /// /// ///
public static bool IsIDcard(this object o) { if (o == null) return false; return System.Text.RegularExpressions.Regex.IsMatch(o.ToString(), @"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$"); } /// ///是适合正则匹配? /// /// /// 大于等于begin /// 小于等于end ///
public static bool IsMatch(this object o, string pattern) { if (o == null) return false; Regex reg = new Regex(pattern); return reg.IsMatch(o.ToString()); } }}

  

转载于:https://www.cnblogs.com/sunkaixuan/p/4539654.html

你可能感兴趣的文章
web服务器分析与设计(四)
查看>>
jenkins 添加 证书凭证Credentials
查看>>
Core Graphics绘图
查看>>
潭州课堂25班:Ph201805201 第二课:数据类型和序列类型 (课堂笔记)
查看>>
centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.def...
查看>>
python事件调度库sched
查看>>
Android Gradle 配置 [转]
查看>>
TApplicationEvents-OnMessage、OnIdle
查看>>
在论坛中出现的比较难的sql问题:22(触发器专题3)
查看>>
Learn Rails5.2 Routes。( 很少用到的参数:constraints和redirect)
查看>>
1633. 满足条件的字符串
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
面向对象1
查看>>
【算法】常见数组搜索算法
查看>>
AWVS基本用法
查看>>
VisualStudio2013快捷键
查看>>
UITableviewCell 重用内存
查看>>
bzoj 1045 糖果传递
查看>>
清理ipv6路由缓存
查看>>