C#类扩展方法,字符串对象转换,常用扩展方法StringExtensions
C#类扩展方法,字符串对象转换,常用扩展方法StringExtensions
C#类扩展方法 MSDN中的定义是:扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this修饰符为前缀。 “扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。” 可以对String,Int,DataRow,DataTable等这些类型的基础上增加一个或多个方法,使用时不需要去修改或编译类型本身的代码。 C# Code: /// <summary> /// 字符串对象转换,常用扩展方法 /// </summary> public static class StringExtensions { /// <summary> /// 转换为字符串 /// </summary> /// <param name="o"></param> /// <returns></returns> public static string ToStringEx(this object o) { if (o == null) return ""; return o.ToString().Trim(); } /// <summary> /// 判断字符串是否为空 /// </summary> /// <param name="o"></param> /// <returns></returns> public static bool IsNullOrEmpty(this object o) { return string.IsNullOrEmpty(o.ToStringEx()); } /// <summary> /// 转换为SQL支持的日期类型 /// </summary> /// <param name="o"></param> /// <returns></returns> public static DateTime ToSqlDateTime(this string o) { DateTime defMinValue = DateTime.Parse("1753-01-01 00:00:00"); DateTime defMaxValue = DateTime.Parse("9999-12-31 23:59:59"); if (null == o) return defMinValue;//传入空值,返回预设值 DateTime dt; if (DateTime.TryParse(o.ToString(), out dt)) { if (dt < defMinValue || dt > defMaxValue) return defMinValue;//无效日期,预设返回SQL支持的最小日期 else return dt; } return defMinValue; } /// <summary> /// 转换为浮点类型 /// </summary> /// <param name="o"></param> /// <returns></returns> public static float ToFloatEx(this string o) { if (null == o) return 0; try { return (float)Convert.ToDouble(o.ToString()); } catch { return 0; } } /// <summary> /// 转换为数字类型 /// </summary> /// <param name="o"></param> /// <returns></returns> public static int ToIntEx(this string o) { if (null == o) return 0; try { return Convert.ToInt32(o.ToString()); } catch { return 0; } } /// <summary> /// 转换为Decimal类型 /// </summary> /// <param name="o"></param> /// <param name="i"></param> /// <returns></returns> public static decimal ToDecimalEx(this string o, int i = 2) { if (null == o) return 0; try { //Math.Round之后不自动补零 //return decimal.Parse(Math.Round(Convert.ToDouble(s.ToString()), i).ToString()); return decimal.Parse(Convert.ToDecimal(o.ToString()).ToString("F" + i)); } catch { return 0; } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
C# 自动计算字符串公式的值(三种方式) C# 计算字符串公式得出数值.(CalculateExpression) C# 几个常用获取当前文件名的方法 C#.NET史上最全字符串加密/解密/数字签名工具(CryptoHelper.cs) C#.NET 对象(字符串)转换常用扩展方法 C#.NET扩展的动态对象支持动态属性和方法以及Json格式与对象互转 C#.NET 定义动态对象dynamic以及转换JSON字符串 C#日期类型转换工具(时间戳,字符串,long,byte类型互转) C# WebApi将查询字符串RequestUri.Query解析转换为Hashtable C# ADO.NET根据实体对象类型转换创建DataTable对象 C# GUID序列号转换生成唯一的16位短字符串或19位长数字序号 C# 将GUID转换为最长16位的短字符串序号 C#判断对象类型为值类型、字符串、对象引用类型或泛型 C# 将数组、集合、可枚举类型转换成逗号分隔的字符串(String.Join) TypeConverter.ConvertFromString 通用方法:字符串转换为具体的类型
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |