好東西都需要人去整理、分類
注意:需要引用命名空間 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()) { }    //IsIDcardif ("32061119810104311x".IsIDcard()){ } //IsTelephoneif ("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  /// </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());    }  }}新聞熱點
疑難解答