博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 会可能需要的扩展
阅读量:6004 次
发布时间:2019-06-20

本文共 3944 字,大约阅读时间需要 13 分钟。

 1. List 转成DataSet

///         /// 集合数据转成 DataSet        ///         /// 
/// ///
public static DataSet ToDataSet
(this IList
list) { Type elementType = typeof(TSource); DataSet ds = new DataSet(); DataTable dt = new DataTable(); ds.Tables.Add(dt); foreach (var pi in elementType.GetProperties()) { Type colType = Nullable.GetUnderlyingType(pi.PropertyType) ?? pi.PropertyType; dt.Columns.Add(pi.Name, colType); } foreach (TSource item in list) { DataRow row = dt.NewRow(); foreach (var pi in elementType.GetProperties()) { row[pi.Name] = pi.GetValue(item, null) ?? DBNull.Value; } dt.Rows.Add(row); } return ds; } public static DataSet ToDataSet
(this ICollection
list) { Type elementType = typeof(TSource); DataSet ds = new DataSet(); DataTable dt = new DataTable(); ds.Tables.Add(dt); foreach (var pi in elementType.GetProperties()) { Type colType = Nullable.GetUnderlyingType(pi.PropertyType) ?? pi.PropertyType; dt.Columns.Add(pi.Name, colType); } foreach (TSource item in list) { DataRow row = dt.NewRow(); foreach (var pi in elementType.GetProperties()) { row[pi.Name] = pi.GetValue(item, null) ?? DBNull.Value; } dt.Rows.Add(row); } return ds; }

 2. 枚举扩展函数

///         /// 枚举扩展函数        /// 
把枚举转换成对应的byte 类型,再转换成String
///
/// ///
public static string ToByteString(this Enum en) { return ((byte)(dynamic)en).ToString(); }

 3. Md5加密函数    

///         ///     Md5加密函数        ///         ///         /// 
public static string Encrypt(string strPwd) { var md5Hasher = MD5.Create(); var data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(strPwd)); //将字符编码为一个字节序列 var sBuilder = new StringBuilder(); //计算data字节数组的哈希值 foreach (var @byte in data) { sBuilder.Append(@byte.ToString("x2")); } return sBuilder.ToString(); }

 

4.MVC 扩展

///         ///  MVC 扩展        ///         /// The parer.        /// Type of the subject.        /// 
public static MvcHtmlString MvcHtmlStringExpand(string parer, byte subjectType) { var html = "

这是一个扩展方法

"; return MvcHtmlString.Create(html); }

 

 

5.字符串转换成byte

///         /// 字符串转换成byte        ///         ///         /// 
public static byte ToByte(this string val) { if (string.IsNullOrEmpty(val)) { return 0; } var intVal = int.Parse(val); return (byte)intVal; }

 6.字符串转换成int16

///         /// 字符串转换成int16        ///         ///         /// 
public static short ToInt16(this string val) { if (string.IsNullOrEmpty(val)) { return 0; } var intVal = int.Parse(val); return (short)intVal; }

7.字符串是否为空

///         /// 字符串是否为空        ///         ///         /// 
public static bool IsNull(this string val) { return string.IsNullOrEmpty(val); }

8.字符串是不为空,有值状态

///         /// 字符串是不为空,有值状态        ///         ///         /// 
public static bool IsNotNull(this string val) { return !string.IsNullOrEmpty(val); }

 

转载于:https://www.cnblogs.com/Hangle/p/6215766.html

你可能感兴趣的文章
Spring Cloud自定义引导属性源
查看>>
[共通]手机端网页开发问题及解决方法整理
查看>>
我的友情链接
查看>>
${basePath}
查看>>
linux命令之uniq简单用法
查看>>
使用Eclipse调试Java程序的10个技巧
查看>>
Hive分桶表
查看>>
oracle10g 启动时报错:ORA-32004 ORA-19905
查看>>
思科分发列表过滤路由(RIP)动态路由协议篇
查看>>
可登录的用户数量是1.6万个,软件的性能得到充分的考验
查看>>
[实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表
查看>>
[译] ES2018(ES9)的新特性
查看>>
Javascript基础复习 数据类型
查看>>
C# Selenium 破解腾讯滑动验证
查看>>
bom与dom的区别
查看>>
Matlab2012a下配置LibSVM—3.18
查看>>
Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)
查看>>
修复CefSharp浏览器组件中文输入Bug
查看>>
正则与sed,grep,awk三剑客
查看>>
Uva 1025
查看>>