【.Net 6.0--通用帮助类--ConvertHelper】

前言

类型转换帮助类,包含下表中的方法:

方法名 方法解释
ObjToInt object转int
ObjToMoney object转double
ObjToString object转string
ObjToDecimal object转decimal
ObjToDate object转datetime
ObjToDateSplitYMD object转datetime(yyyy-MM-dd)
ObjToDateSplitYMDHMS object转datetime(yyyy-MM-dd HH:mm:ss)
ObjToDateY object转datetime(yyyy)
ObjToDateYMD object转datetime(yyyyMMdd)
ObjToDateYMDH object转datetime(yyyyMMddHH)
ObjToDateYMDHMS object转datetime(yyyyMMddHHmmss)
ObjToBool object转bool
ObjToChar object转char
ObjToStringBySplit object转list
ObjToBase64String object转base64 string
ObjToStringFromBase64 base64 string转object

代码示例

C# 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VW.API.Common.Utils
{
    /// <summary>
    /// ConvertHelper 的摘要说明:格式转换帮助类
    /// </summary>
    public static class ConvertHelper
    {
        /// <summary>
        /// obj->int
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>int</returns>
        public static int ObjToInt(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return 0;
                }
                if (thisValue != null && thisValue != DBNull.Value && int.TryParse(thisValue.ToString(), out int reval))
                {
                    return reval;
                }

                return 0;
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->double
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>double</returns>
        public static double ObjToMoney(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return 0;
                }
                if (thisValue != null && thisValue != DBNull.Value && double.TryParse(thisValue.ToString(), out double reval))
                {
                    return reval;
                }

                return 0;
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->string
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>string</returns>
        public static string ObjToString(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }
                if (thisValue != null)
                    return thisValue.ToString();

                return "";
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->decimal
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>decimal</returns>
        public static decimal ObjToDecimal(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return 0;
                }
                if (thisValue != null && thisValue != DBNull.Value && decimal.TryParse(thisValue.ToString(), out decimal reval))
                {
                    return reval;
                }

                return 0;
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime2
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static DateTime ObjToDate2(this object thisValue)
        {
            try
            {
                return thisValue.ToString().Length switch
                {
                    //年
                    4 => new DateTime(thisValue.ObjToInt(), 1, 1, 0, 0, 0),
                    //月
                    6 => new DateTime(thisValue.ToString().Substring(0, 4).ObjToInt(), thisValue.ToString().Substring(4, 2).ObjToInt(), 1, 0, 0, 0),
                    //日
                    8 => new DateTime(thisValue.ToString().Substring(0, 4).ObjToInt(), thisValue.ToString().Substring(4, 2).ObjToInt(), thisValue.ToString().Substring(6, 2).ObjToInt(), 0, 0, 0),
                    //时
                    10 => new DateTime(thisValue.ToString().Substring(0, 4).ObjToInt(), thisValue.ToString().Substring(4, 2).ObjToInt(), thisValue.ToString().Substring(6, 2).ObjToInt(), thisValue.ToString().Substring(8, 2).ObjToInt(), 0, 0),
                    //分钟
                    12 => new DateTime(thisValue.ToString().Substring(0, 4).ObjToInt(), thisValue.ToString().Substring(4, 2).ObjToInt(), thisValue.ToString().Substring(6, 2).ObjToInt(), thisValue.ToString().Substring(8, 2).ObjToInt(), thisValue.ToString().Substring(10, 2).ObjToInt(), 0),
                    _ => DateTime.MinValue,
                };
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static DateTime ObjToDate(this object thisValue)
        {
            try
            {
                DateTime reval = DateTime.MinValue;
                if (thisValue == null)
                {
                    return reval;
                }
                if (thisValue != null && thisValue != DBNull.Value && DateTime.TryParse(thisValue.ToString(), out reval))
                {
                    reval = Convert.ToDateTime(thisValue);
                }

                return reval;
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime(SplitYMD)
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static string ObjToDateSplitYMD(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                return ObjToDate(thisValue).ToString("yyyy-MM-dd");
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime(SplitYMDHMS)
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static string ObjToDateSplitYMDHMS(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                return ObjToDate(thisValue).ToString("yyyy-MM-dd HH:mm:ss");
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime(Y)
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static string ObjToDateY(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                return ObjToDate(thisValue).ToString("yyyy");
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime(YMD)
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static string ObjToDateYMD(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                return ObjToDate(thisValue).ToString("yyyyMMdd");
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime(YMDH)
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static string ObjToDateYMDH(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                return ObjToDate(thisValue).ToString("yyyyMMddHH");
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->datetime(YMDHMS)
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>DateTime</returns>
        public static string ObjToDateYMDHMS(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                return ObjToDate(thisValue).ToString("yyyyMMddHHmmss");
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->bool
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>bool</returns>
        public static bool ObjToBool(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return false;
                }
                if (thisValue != null && thisValue != DBNull.Value && bool.TryParse(thisValue.ToString(), out bool reval))
                {
                    return reval;
                }

                return false;
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->char
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>char</returns>
        public static char ObjToChar(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return ' ';
                }
                if (thisValue != null && thisValue != DBNull.Value && char.TryParse(thisValue.ToString(), out char reval))
                {
                    return reval;
                }

                return ' ';
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->List<string>
        /// </summary>
        /// <param name="thisValue"></param>
        /// <param name="split"></param>
        /// <returns>List<string></returns>
        public static List<string> ObjToStringBySplit(this object thisValue, char[] split = null)
        {
            try
            {
                if (thisValue == null)
                {
                    return new List<string>();
                }

                if (split == null || split.Length == 0)
                {
                    split = new char[] { ';', ';', ',', ',', ' ' };
                }

                return thisValue.ToString().Split(split).ToList();
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->string<string>
        /// </summary>
        /// <param name="thisValue"></param>
        /// <param name="split"></param>
        /// <returns>List<string></returns>
        public static string ObjToStringByReplace(this object thisValue, string[] replace = null)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }

                //-()&"*%()
                if (replace == null || replace.Length == 0)
                {
                    replace = new string[] { "-", "(", ")", "&", "\"", "*", "%", "(", ")", "_" };
                }

                string returnValue = thisValue.ToString();
                foreach (string r in replace)
                {
                    returnValue = returnValue.Replace(r, $"\\{r}");
                }

                return returnValue;
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->base64string
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>string</returns>
        public static string ObjToBase64String(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }
                if (thisValue != null)
                    return Convert.ToBase64String(Encoding.UTF8.GetBytes($"{thisValue}"));

                return "";
            }
            catch (Exception) { throw; }
        }

        /// <summary>
        /// obj->string
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns>string</returns>
        public static string ObjToStringFromBase64(this object thisValue)
        {
            try
            {
                if (thisValue == null)
                {
                    return "";
                }
                if (thisValue != null)
                    return System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(thisValue.ToString()));

                return "";
            }
            catch (Exception) { throw; }
        }
    }
}
相关推荐
逊嘘16 分钟前
【Java语言】抽象类与接口
java·开发语言·jvm
Half-up19 分钟前
C语言心型代码解析
c语言·开发语言
Source.Liu40 分钟前
【用Rust写CAD】第二章 第四节 函数
开发语言·rust
monkey_meng41 分钟前
【Rust中的迭代器】
开发语言·后端·rust
余衫马44 分钟前
Rust-Trait 特征编程
开发语言·后端·rust
monkey_meng1 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
Jacob程序员1 小时前
java导出word文件(手绘)
java·开发语言·word
数据与后端架构提升之路1 小时前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
小白学大数据1 小时前
正则表达式在Kotlin中的应用:提取图片链接
开发语言·python·selenium·正则表达式·kotlin
VBA63371 小时前
VBA之Word应用第三章第三节:打开文档,并将文档分配给变量
开发语言