·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> C#ASP.NET 通用扩展函数之 IsWhat 简单好用

C#ASP.NET 通用扩展函数之 IsWhat 简单好用

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

C#asp.net 通用扩展函数之 IsWhat 简单好用

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

注意:需要引用命名空间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<string> 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{    /// <summary>    /// ** 描述:逻辑判段是什么?    /// ** 创始时间:2015-5-29    /// ** 修改时间:-    /// ** 作者:sunkaixuan    /// ** 使用说明:http://www.cnblogs.com/sunkaixuan/p/4539654.html    /// </summary>    public static class IsWhat    {        /// <summary>        /// 值在的范围?        /// </summary>        /// <param name="o"></param>        /// <param name="begin">大于等于begin</param>        /// <param name="end">小于等于end</param>        /// <returns></returns>        public static bool IsInRange(this int o, int begin, int end)        {            return o >= begin && o <= end;        }        /// <summary>        /// 值在的范围?        /// </summary>        /// <param name="o"></param>        /// <param name="begin">大于等于begin</param>        /// <param name="end">小于等于end</param>        /// <returns></returns>        public static bool IsInRange(this DateTime o, DateTime begin, DateTime end)        {            return o >= begin && o <= end;        }        /// <summary>        /// 在里面吗?        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="o"></param>        /// <param name="values"></param>        /// <returns></returns>        public static bool IsIn<T>(this T o, params T[] values)        {            return values.Contains(o);        }        /// <summary>        /// 是null或""?        /// </summary>        /// <returns></returns>        public static bool IsNullOrEmpty(this object o)        {            if (o == null || o == DBNull.Value) return true;            return o.ToString() == "";        }        /// <summary>        /// 是null或""?        /// </summary>        /// <returns></returns>        public static bool IsNullOrEmpty(this Guid? o)        {            if (o == null) return true;            return o == Guid.Empty;        }        /// <summary>        /// 是null或""?        /// </summary>        /// <returns></returns>        public static bool IsNullOrEmpty(this Guid o)        {            if (o == null) return true;            return o == Guid.Empty;        }        /// <summary>        /// 有值?(与IsNullOrEmpty相反)        /// </summary>        /// <returns></returns>        public static bool IsValuable(this object o)        {            if (o == null) return false;            return o.ToString() != "";        }        /// <summary>        /// 有值?(与IsNullOrEmpty相反)        /// </summary>        /// <returns></returns>        public static bool IsValuable(this IEnumerable<object> o)        {            if (o == null || o.Count() == 0) return false;            return true;        }        /// <summary>        /// 是零?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        public static bool IsZero(this object o)        {            return (o == null || o.ToString() == "0");        }        /// <summary>        /// 是INT?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        public static bool IsInt(this object o)        {            if (o == null) return false;            return Regex.IsMatch(o.ToString(), @"^\d+$");        }        /// <summary>        /// 不是INT?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        public static bool IsNoInt(this object o)        {            if (o == null) return true;            return !Regex.IsMatch(o.ToString(), @"^\d+$");        }        /// <summary>        /// 是金钱?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        public static bool IsMoney(this object o)        {            if (o == null) return false;            double outValue = 0;            return double.TryParse(o.ToString(), out outValue);        }        /// <summary>        /// 是邮箱?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        public static bool IsEamil(this object o)        {            if (o == null) return false;            return Regex.IsMatch(o.ToString(), @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");        }        /// <summary>        /// 是手机?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        public static bool IsMobile(this object o)        {            if (o == null) return false;            return Regex.IsMatch(o.ToString(), @"^\d{11}$");        }        /// <summary>        /// 是座机?        /// </summary>        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}$");        }        /// <summary>        /// 是身份证?        /// </summary>        /// <param name="o"></param>        /// <returns></returns>        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))$");        }        /// <summary>        ///是适合正则匹配?        /// </summary>        /// <param name="o"></param>        /// <param name="begin">大于等于begin</param>        /// <param name="end">小于等于end</param>        /// <returns></returns>        public static bool IsMatch(this object o, string pattern)        {            if (o == null) return false;            Regex reg = new Regex(pattern);            return reg.IsMatch(o.ToString());        }    }}