当前位置: 首页 > news >正文

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

前言

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

方法名方法解释
ObjToIntobject转int
ObjToMoneyobject转double
ObjToStringobject转string
ObjToDecimalobject转decimal
ObjToDateobject转datetime
ObjToDateSplitYMDobject转datetime(yyyy-MM-dd)
ObjToDateSplitYMDHMSobject转datetime(yyyy-MM-dd HH:mm:ss)
ObjToDateYobject转datetime(yyyy)
ObjToDateYMDobject转datetime(yyyyMMdd)
ObjToDateYMDHobject转datetime(yyyyMMddHH)
ObjToDateYMDHMSobject转datetime(yyyyMMddHHmmss)
ObjToBoolobject转bool
ObjToCharobject转char
ObjToStringBySplitobject转list
ObjToBase64Stringobject转base64 string
ObjToStringFromBase64base64 string转object

代码示例

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; }}}
}

相关文章:

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

前言 类型转换帮助类&#xff0c;包含下表中的方法&#xff1a; 方法名方法解释ObjToIntobject转intObjToMoneyobject转doubleObjToStringobject转stringObjToDecimalobject转decimalObjToDateobject转datetimeObjToDateSplitYMDobject转datetime&#xff08;yyyy-MM-dd&…...

【加解密】报文签名与加解密,MD5,RSA,AES使用案例(基于 Java)

需要考虑哪些问题&#xff1f; 在进行报文传输时&#xff0c;有两个问题需要考虑&#xff1a; 消息防篡改加密报文 定义消息结构 为了方便后面使用&#xff0c;这里定义消息结构&#xff1a; public static class Message {public String data; //消息public String sign;…...

新建vue3项目

三种方法 一. 第一种方式 1、操作步骤&#xff1a; 创建项目目录 vue create 项目名称选择配置方式 ? Please pick a preset: #选择一个配置 Default &#xff08;[Vue 3] babel, eslint&#xff09;Default &#xff08;[Vue 2] babel, eslint&#xff09;Manually select …...

出现 Error:Unable to access jarfile xxxx\target\nacos-server.jar 解决方法

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 执行Nacos中的startup.cmd的时候出现闪退,于是在该脚本的最后一行添加pause,查看因为什么原因闪退 出现的bug如下所示:Error:Unable to access jarfile xxxx\target\nacos-server.jar 截图如下所示: 查看内部文件夹,…...

记录一次API报文替换点滴

1. 需求 各位盆友在日常开发中&#xff0c;有没有遇到上游接口突然不合作了&#xff0c;临时需要切换其他接口的情况&#xff1f;这不巧了&#xff0c;博主团队近期遇到了&#xff0c;又尴尬又忐忑。 尴尬的是临时通知不合作了&#xff0c;事前没有任何提醒&#xff1b; 忐忑…...

PMP项目管理 - 沟通管理

系列文章目录 PMP项目管理 - 质量管理 PMP项目管理 - 采购管理 PMP项目管理 - 资源管理 PMP项目管理 - 风险管理 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in…...

fckeditor编辑器改造示例:增加PRE,CODE控件

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置&#xff0c;前后端开发环境的配置&#xff0c;编辑器的配置&#xff0c;网络服务的配置&#xff0c;网络命令的应用与配置&#xff0c;windows常见问题的解决等。 文章目录 修改方法&#xff1a;1&#xff09;修改fckco…...

风速预测(五)基于Pytorch的EMD-CNN-LSTM模型

目录 前言 1 风速数据EMD分解与可视化 1.1 导入数据 1.2 EMD分解 2 数据集制作与预处理 2.1 先划分数据集&#xff0c;按照8&#xff1a;2划分训练集和测试集 2.2 设置滑动窗口大小为96&#xff0c;制作数据集 3 基于Pytorch的EMD-CNN-LSTM模型预测 3.1 数据加载&…...

单元测试二(理论)-云计算2023.12-云南农业大学

文章目录 一、单选题1、三次握手、四次挥手发生在网络模型的哪一层上&#xff1f;2、互联网Internet的拓扑结构是什么&#xff1f;3、以下哪一种网络设备是工作在网络层的&#xff1f;4、以下哪种关于分组交换网络的说法是错误的&#xff1f;5、以下哪种协议是在TCP/IP模型中的…...

QModelIndex 是 Qt 框架中的一个类,用于表示数据模型中的索引位置

QModelIndex 是 Qt 框架中的一个类&#xff0c;用于表示数据模型中的索引位置。 在 Qt 中&#xff0c;数据模型是一种组织和管理数据的方式&#xff0c;常见的数据模型包括 QAbstractItemModel、QStandardItemModel 和 QSqlQueryModel 等。QModelIndex 类提供了一种标识数据模…...

前端实现一个时间区间内,再次单选功能,使用Antd组件库内日历组件Calendar

需求&#xff1a;需要先让用户选择一个时间区间&#xff0c;然后再这个时间区间中&#xff0c;让用户再次去单选其种特殊日期。 思路&#xff1a; 1.先用Antd组件库中日期选择DatePicker.RangePicker实现让用户选择时间区间 2.在选择完时间区间后&#xff0c;用这个时间区间…...

【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法

问题描述 在使用hyperf进行数据库迁移时&#xff0c;迁移报错&#xff1a; 查看报错信息&#xff0c;错误描述是Xdebug检测到死循环&#xff0c;可是打印的堆栈确实正常堆栈&#xff0c;没看到死循环。 寻求解决 gpt 说的跟没说一样。。 google一下 直接把报错信息粘贴上去…...

嵌入式开发中的总线与时钟

总线 AHB总线 AHB的全称是"Advanced High-performance Bus",中文翻译就是"高级高性能总线"。这是一种在计算机系统中用于连接不同硬件组件的总线架构,它可以帮助这些组件之间高效地传输数据和信息。这个总线架构通常用于处理速度较快且对性能要求较高的…...

k8s debug 浅谈

一 k8s debug 浅谈 说明&#xff1a; 本文只是基于对kubectl debug浅显认识总结的知识点,后续实际使用再补充案例 Kubernetes 官方出品调试工具上手指南(无需安装&#xff0c;开箱即用) debug-application 简化 Pod 故障诊断: kubectl-debug 介绍 1.18 版本之前需要自己…...

Day10 Liunx高级系统设计11-数据库2

DQL:数据查询语言 查询全表 select * from 表名; 查询指定列 select 列名 1, 列名 2,… from 表名 ; 条件查询 select * from 表名 where 条件 ; 注意&#xff1a; 条件查询就是在查询时给出 WHERE 子句&#xff0c;在 WHERE 子句中可以使用如下运算符及关键 字&#…...

车载导航系统UI界面,可视化大屏设计(PS源文件)

大屏组件可以让UI设计师的工作更加便捷&#xff0c;使其更高效快速的完成设计任务。现分享车载导航系统科技风蓝黑简约UI界面、车载系统UI主界面、车载系统科技风UI界面、首页车载系统科技感界面界面的大屏Photoshop源文件&#xff0c;开箱即用&#xff01; 若需 更多行业 相关…...

工作之踩坑记录

1.i386架构之atol函数使用导致的业务程序错误&#xff1a; 情景:将框架传递的链接地址采用整形保存传输,在i386架构上导致地址比较大&#xff0c;采用atol转型可能导致数据被截断出现异常。 方案:采用atoll更大的数据类型进行处理即可避免该问题。 2.Json库使用注意long int问…...

【深度学习目标检测】四、基于深度学习的抽烟识别(python,yolov8)

YOLOv8是一种物体检测算法&#xff0c;是YOLO系列算法的最新版本。 YOLO&#xff08;You Only Look Once&#xff09;是一种实时物体检测算法&#xff0c;其优势在于快速且准确的检测结果。YOLOv8在之前的版本基础上进行了一系列改进和优化&#xff0c;提高了检测速度和准确性。…...

YML学习

讲解YML使用场景、语法和解析 1.基础知识1.1 什么是YML1.2 YML优点1.3 YML使用场景 2.YML语法2.1 基础语法2.2 字面量数据类型2.2.1 字符串2.2.2 NULL2.4.5 时间戳&#xff08;timestamp&#xff09; 2.3 对象\MAP类型2.4 数组/List/Set2.4.1 值为基础类型2.4.2 值为对象2.4.3 …...

华为HCIP认证H12-821题库下

26、6.交换技术核心知识 &#xff08;单选题&#xff09;某交换机运行RSTP协议&#xff0c;其相关配置信息如图所示,请根据命令配置情况指出对于Instance 1&#xff0c;该交换机的角色是: A、根交换机 B、非根交换机 C、交换机 D、无法判断 正确答案是&…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...