• .net扩展方法——类型转换


    .net扩展方法——类型转换

    1. ObjToBool:object型转换为bool型
    2. StrToBool:string型转换为bool型
    3. ObjToInt:将对象转换为Int32类型
    4. StrToInt:将字符串转换为Int32类型
    5. StrToIntNull
    6. ObjToDecimal
    7. StrToDecimal
    8. StrToDecimalNull
    9. ObjToDouble
    10. StrToDouble
    11. StrToGuid
    12. StrToDateTime
    13. ObjToDateTime
    14. ObjToStr
            #region 类型转换
    
            /// <summary>
            /// object型转换为bool型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的bool类型结果</returns>
            public static bool ObjToBool(this object expression, bool defValue)
            {
                if (expression != null)
                    return ObjToBool(expression, defValue);
    
                return defValue;
            }
    
            /// <summary>
            /// string型转换为bool型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的bool类型结果</returns>
            public static bool StrToBool(this string expression, bool defValue)
            {
                if (expression != null)
                {
                    if (string.Compare(expression, "true", true) == 0 || expression == "")
                        return true;
                    else if (string.Compare(expression, "false", true) == 0 || expression == "")
                        return false;
                }
                return defValue;
            }
    
            /// <summary>
            /// 将对象转换为Int32类型
            /// </summary>
            /// <param name="expression">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static int ObjToInt(this object expression, int defValue)
            {
                if (expression != null)
                    return StrToInt(expression.ToString(), defValue);
    
                return defValue;
            }
    
            /// <summary>
            /// 将字符串转换为Int32类型
            /// </summary>
            /// <param name="expression">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static int StrToInt(this string expression, int defValue)
            {
                if (expression == null)
                    return defValue;
    
                int val;
                if (Int32.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return defValue;
            }
            public static int? StrToIntNull(this string expression)
            {
                if (expression == null)
                    return null;
    
                int val;
                if (Int32.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return null;
            }
    
    
            /// <summary>
            /// 将字符串转换为Int32类型
            /// </summary>
            /// <param name="expression">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static int? StrToInt(this string expression)
            {
                if (expression == null)
                    return null;
    
                int val;
                if (Int32.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return null;
            }
    
            /// <summary>
            /// Object型转换为decimal型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的decimal类型结果</returns>
            public static decimal ObjToDecimal(this object expression, decimal defValue)
            {
                if (expression != null)
                    return StrToDecimal(expression.ToString(), defValue);
    
                return defValue;
            }
    
            /// <summary>
            /// string型转换为decimal型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的decimal类型结果</returns>
            public static decimal StrToDecimal(this string expression, decimal defValue)
            {
                if (expression == null)
                    return defValue;
    
                decimal val;
                if (decimal.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return defValue;
            }
    
            public static decimal? StrToDecimalNull(this string expression)
            {
                if (expression == null)
                    return null;
    
                decimal val;
                if (decimal.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return null;
            }
            /// <summary>
            /// Object型转换为double型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static double ObjToDouble(this object expression, double defValue)
            {
                if (expression != null)
                    return StrToDouble(expression.ToString(), defValue);
    
                return defValue;
            }
    
            /// <summary>
            /// 将字符串转换为Double类型
            /// </summary>
            /// <param name="expression">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static double StrToDouble(this string expression, int defValue)
            {
                if (expression == null)
                    return defValue;
    
                double val;
                if (Double.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return defValue;
            }
    
            /// <summary>
            /// string型转换为double型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static double StrToDouble(this string expression, double defValue)
            {
                if (expression == null)
                    return defValue;
    
                double val;
                if (double.TryParse(expression.Replace(",", ""), out val))
                {
                    return val;
                }
                return defValue;
            }
    
            /// <summary>
            /// string型转换为Guid型
            /// </summary>
            /// <param name="strValue">要转换的字符串</param>
            /// <returns>转换后的int类型结果</returns>
            public static Guid? StrToGuid(this string expression)
            {
                if (expression == null)
                    return null;
    
                Guid val;
                if (Guid.TryParse(expression, out val))
                {
                    return val;
                }
                return null;
            }
    
            /// <summary>
            /// 将对象转换为日期时间类型
            /// </summary>
            /// <param name="str">要转换的字符串</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static DateTime? StrToDateTime(this string str, DateTime? defValue)
            {
                if (!string.IsNullOrEmpty(str))
                {
                    DateTime dateTime;
                    if (DateTime.TryParse(str, out dateTime))
                        return dateTime;
                }
                return defValue;
            }
    
            /// <summary>
            /// 将对象转换为日期时间类型
            /// </summary>
            /// <param name="str">要转换的字符串</param>
            /// <returns>转换后的int类型结果</returns>
            public static DateTime? StrToDateTime(this string str)
            {
                return StrToDateTime(str, null);
            }
    
            /// <summary>
            /// 将对象转换为日期时间类型
            /// </summary>
            /// <param name="obj">要转换的对象</param>
            /// <returns>转换后的int类型结果</returns>
            public static DateTime? ObjToDateTime(this object obj)
            {
                return StrToDateTime(obj.ToString());
            }
    
            /// <summary>
            /// 将对象转换为日期时间类型
            /// </summary>
            /// <param name="obj">要转换的对象</param>
            /// <param name="defValue">缺省值</param>
            /// <returns>转换后的int类型结果</returns>
            public static DateTime? ObjToDateTime(this object obj, DateTime defValue)
            {
                return StrToDateTime(obj.ToString(), defValue);
            }
    
            /// <summary>
            /// 将对象转换为字符串
            /// </summary>
            /// <param name="obj">要转换的对象</param>
            /// <returns>转换后的string类型结果</returns>
            public static string ObjToStr(this object obj)
            {
                if (obj == null)
                    return "";
                return obj.ToString().Trim();
            }
    
            #endregion 对象转换处理
     
  • 相关阅读:
    NET在后置代码中输入JS提示语句(背景不会变白)
    陈广老师C#参考视频 方法的参数传递 总结
    preventDefault和stopPropagation两个方法的区别
    zerobased budgeting: 零基预算法
    JS: 关于自执行的匿名函数(整理)
    通过实例理解javascript 的call()与apply()
    setTimeout注意几点
    js constructor
    canphp的数据库操作
    JS事件监听器
  • 原文地址:https://www.cnblogs.com/amusement1992/p/13496051.html
Copyright © 2020-2023  润新知