当前位置: 首页 > 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、无法判断 正确答案是&…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...