zoukankan      html  css  js  c++  java
  • c# 通用类扩展方法 备注

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Common
    {
        public static class ExtensionFuncation
        {
    
            #region 判断是否为空
    
            /// <summary>
            /// 判断对象是否为null或者为空
            /// </summary>
            /// <param name="o"></param>
            /// <returns></returns>
            public static bool IfIsNullOrEmpty(this object o)
            {
                if (null == o || o.Equals(""))
                    return true;
                else
                    return false;
            }
    
            /// <summary>
            /// 判断对象是否为null或者为空
            /// </summary>
            /// <param name="o"></param>
            /// <returns></returns>
            public static bool IfIsNullOrEmpty(this string o)
            {
                if (string.IsNullOrWhiteSpace(o)) return true;
                else
                    return false;
            }
    
            /// <summary>
            /// 判断对象是否为null或者为空
            /// </summary>
            /// <param name="o"></param>
            /// <returns></returns>
            public static bool IfIsNullOrEmpty<T>(this List<T> o)
            { 
                if(null == o || o.Count == 0)
                    return true;
                else
                    return false;
            }
    
            /// <summary>
            /// 判断对象是否为null或者为空
            /// </summary>
            /// <param name="o"></param>
            /// <returns></returns>
            public static bool IfIsNullOrEmpty<T>(this IList<T> o)
            { 
                if(null == o || o.Count == 0)
                    return true;
                else
                    return false;
            }
    
            /// <summary>
            /// 判断对象是否为null或者为空
            /// </summary>
            /// <param name="o"></param>
            /// <returns></returns>
            public static bool IfIsNullOrEmpty<K, V>(this Dictionary<K, V> o)
            {
                if (null == o || o.Count == 0)
                    return true;
                else
                    return false;
            }
    
    
            #endregion
    
            #region 带默认值的类型转换
    
    
            /// <summary>
            /// 类型转换带默认值
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="o"></param>
            /// <param name="defaultValue">如果转换失败返回的默认值</param>
            /// <returns></returns>
            public static T ConvertToType<T>(this object o, T defaultValue)
            {
                try
                {
                    return (T)System.Convert.ChangeType(o, typeof(T), null);
                }
                catch
                {
                    return defaultValue;
                }
            }
            /// <summary>
            /// 类型转换带默认值
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="o"></param>
            /// <param name="defaultValue">如果转换失败返回的默认值</param>
            /// <returns></returns>
            public static T ConvertToType<T>(this string o, T defaultValue)
            {
                try
                {
                    return (T)System.Convert.ChangeType(o, typeof(T), null);
                }
                catch
                {
                    return defaultValue;
                }
            }
    
            #endregion
    
    
            #region 提取中文首字母
    
    
    
            /// <summary>
            /// 返回中文首字母小写格式的
            /// </summary>
            /// <param name="paramChinese"></param>
            /// <param name="ifToUpper">是否转成大写字母返回</param>
            /// <returns></returns>
            public static string GetFirstLetter(this string paramChinese, bool ifToUpper)
             {
    
                 string strTemp = "";
     
                 int iLen = paramChinese.Length;
     
                 int i = 0;
     
     
     
                 for (i = 0; i <= iLen - 1; i++)
                 {
     
                     strTemp += GetCharSpellCode(paramChinese.Substring(i, 1));
     
                 }
    
                 return ifToUpper ? strTemp.ToUpper() : strTemp.ToLower();
    
             }
    
              /// <summary>  
    
              /// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母  
    
              /// </summary>  
    
              /// <param name="CnChar">单个汉字</param>  
    
              /// <returns>单个大写字母</returns>  
    
              private static string GetCharSpellCode(string paramChar)
              {
    
                  long iCnChar;
    
    
    
                  byte[] ZW = System.Text.Encoding.Default.GetBytes(paramChar);
    
    
    
                  //如果是字母,则直接返回  
    
                  if (ZW.Length == 1)
                  {
                      return paramChar.ToUpper();
    
                  }
    
                  else
                  {
    
                      // get the array of byte from the single char  
    
                      int i1 = (short)(ZW[0]);
    
                      int i2 = (short)(ZW[1]);
    
                      iCnChar = i1 * 256 + i2;
    
                  }
    
    
    
                  //expresstion  
    
                  //table of the constant list  
    
                  // 'A'; //45217..45252  
    
                  // 'B'; //45253..45760  
    
                  // 'C'; //45761..46317  
    
                  // 'D'; //46318..46825  
    
                  // 'E'; //46826..47009  
    
                  // 'F'; //47010..47296  
    
                  // 'G'; //47297..47613  
    
    
    
                  // 'H'; //47614..48118  
    
                  // 'J'; //48119..49061  
    
                  // 'K'; //49062..49323  
    
                  // 'L'; //49324..49895  
    
                  // 'M'; //49896..50370  
    
                  // 'N'; //50371..50613  
    
                  // 'O'; //50614..50621  
    
                  // 'P'; //50622..50905  
    
                  // 'Q'; //50906..51386  
    
    
    
                  // 'R'; //51387..51445  
    
                  // 'S'; //51446..52217  
    
                  // 'T'; //52218..52697  
    
                  //没有U,V  
    
                  // 'W'; //52698..52979  
    
                  // 'X'; //52980..53640  
    
                  // 'Y'; //53689..54480  
    
                  // 'Z'; //54481..55289  
    
    
    
                  // iCnChar match the constant  
    
                  if ((iCnChar >= 45217) && (iCnChar <= 45252))
                  {
    
                      return "A";
    
                  }
    
                  else if ((iCnChar >= 45253) && (iCnChar <= 45760))
                  {
    
                      return "B";
    
                  }
    
                  else if ((iCnChar >= 45761) && (iCnChar <= 46317))
                  {
    
                      return "C";
    
                  }
    
                  else if ((iCnChar >= 46318) && (iCnChar <= 46825))
                  {
    
                      return "D";
    
                  }
    
                  else if ((iCnChar >= 46826) && (iCnChar <= 47009))
                  {
    
                      return "E";
    
                  }
    
                  else if ((iCnChar >= 47010) && (iCnChar <= 47296))
                  {
    
                      return "F";
    
                  }
    
                  else if ((iCnChar >= 47297) && (iCnChar <= 47613))
                  {
    
                      return "G";
    
                  }
    
                  else if ((iCnChar >= 47614) && (iCnChar <= 48118))
                  {
    
                      return "H";
    
                  }
    
                  else if ((iCnChar >= 48119) && (iCnChar <= 49061))
                  {
    
                      return "J";
    
                  }
    
                  else if ((iCnChar >= 49062) && (iCnChar <= 49323))
                  {
                      return "K";
    
                  }
    
                  else if ((iCnChar >= 49324) && (iCnChar <= 49895))
                  {
    
                      return "L";
    
                  }
    
                  else if ((iCnChar >= 49896) && (iCnChar <= 50370))
                  {
    
                      return "M";
    
                  }
    
    
    
                  else if ((iCnChar >= 50371) && (iCnChar <= 50613))
                  {
    
                      return "N";
    
                  }
    
                  else if ((iCnChar >= 50614) && (iCnChar <= 50621))
                  {
    
                      return "O";
    
                  }
    
                  else if ((iCnChar >= 50622) && (iCnChar <= 50905))
                  {
    
                      return "P";
    
                  }
    
                  else if ((iCnChar >= 50906) && (iCnChar <= 51386))
                  {
    
                      return "Q";
    
                  }
    
                  else if ((iCnChar >= 51387) && (iCnChar <= 51445))
                  {
    
                      return "R";
    
                  }
    
                  else if ((iCnChar >= 51446) && (iCnChar <= 52217))
                  {
    
                      return "S";
    
                  }
    
                  else if ((iCnChar >= 52218) && (iCnChar <= 52697))
                  {
    
                      return "T";
    
                  }
    
                  else if ((iCnChar >= 52698) && (iCnChar <= 52979))
                  {
    
                      return "W";
    
                  }
    
                  else if ((iCnChar >= 52980) && (iCnChar <= 53688))
                  {
    
                      return "X";
    
                  }
    
                  else if ((iCnChar >= 53689) && (iCnChar <= 54480))
                  {
    
                      return "Y";
    
                  }
    
                  else if ((iCnChar >= 54481) && (iCnChar <= 55289))
                  {
    
                      return "Z";
                  }
                  else return ("?");
    
              }
            #endregion
    
        }
    }
  • 相关阅读:
    vscode常用快捷键及常用设置
    markdown语法笔记
    Recoil 了解一下
    url的组成
    webpack基础配置
    Unity3D 游戏引擎之详解游戏开发音频的播放
    未能加载文件或程序集“AspNetPager”或它的某一个依赖项。参数错误
    Windows* 8商店与桌面应用开发
    unity3d阶段性学习脚本代码(2个是摄像机跟随(2D游戏中的),1个是角色跳跃移动脚本)
    unity3d与web交互的方法
  • 原文地址:https://www.cnblogs.com/lanymy/p/2579672.html
Copyright © 2011-2022 走看看