C# DataTable扩展方法
在日常搬砖中,总结了一些简单的扩展方法。
- public static bool IsNullOrEmpty(this DataTable dt)
- {
- return dt == null || dt.Rows.Count <= ;
- }
- public static bool IsNotEmpty(this DataTable dt)
- {
- return dt.IsNullOrEmpty() == false;
- }
- #region DataTable Extension
- /// <summary>
- /// 获取字符串
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static string GetStringValue(this DataTable data, int rowIndex, string pColumnName)
- {
- return GetValue(data, rowIndex, pColumnName).ToSafeStr();
- }
- /// <summary>
- /// 获取整型
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static int GetIntValue(this DataTable data, int rowIndex, string pColumnName)
- {
- return GetStringValue(data, rowIndex, pColumnName).ToInt();
- }
- /// <summary>
- /// 获取浮点型
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static float GetFloatValue(this DataTable data, int rowIndex, string pColumnName)
- {
- return GetStringValue(data, rowIndex, pColumnName).ToFloat();
- }
- /// <summary>
- /// 获取Boolean
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static bool GetBooleanValue(this DataTable data, int rowIndex, string pColumnName)
- {
- string v = GetStringValue(data, rowIndex, pColumnName).ToLower();
- return v.ToBoolean();
- }
- public static decimal GetDecimalValue(this DataTable data, int rowIndex, string pColumnName)
- {
- return GetStringValue(data, rowIndex, pColumnName).ToDecimal();
- }
- public static object GetValue(this DataTable data, int rowIndex, string pColumnName)
- {
- if (data == null || rowIndex < || rowIndex >= data.Rows.Count) return null;
- return data.Rows[rowIndex].GetValue(pColumnName);
- }
- /// <summary>
- /// 判断DataTable 是否为空
- /// </summary>
- public static bool IsNullOrEmpty(this DataTable data)
- {
- return data == null || data.Rows.Count <= ;
- }
- /// <summary>
- /// 判断DataTable 不为空
- /// </summary>
- public static bool IsNotEmpty(this DataTable data)
- {
- return data.IsNullOrEmpty() == false;
- }
- #endregion
- #region DataRow Extension
- /// <summary>
- /// 获取字符串
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static string GetStringValue(this DataRow row, string pColumnName)
- {
- return GetValue(row, pColumnName).ToSafeStr();
- }
- /// <summary>
- /// 获取整型
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static int GetIntValue(this DataRow row, string pColumnName)
- {
- return GetStringValue(row, pColumnName).ToInt();
- }
- /// <summary>
- /// 获取浮点型
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static float GetFloatValue(this DataRow row, string pColumnName)
- {
- return GetStringValue(row, pColumnName).ToFloat();
- }
- /// <summary>
- /// 获取Boolean
- /// </summary>
- /// <param name="pColumnName">列名</param>
- /// <returns></returns>
- public static bool GetBooleanValue(this DataRow row, string pColumnName)
- {
- string v = GetStringValue(row, pColumnName);
- return v.ToBoolean();
- }
- public static object GetValue(this DataRow row, string pColumnName)
- {
- if (row == null) return null;
- if (pColumnName.IsNullOrEmpty()) return null;
- if (!row.Table.Columns.Contains(pColumnName)) return null;
- return row[pColumnName];
- }
- #endregion
C# DataTable扩展方法的更多相关文章
- DataTable扩展方法ToList<T>()、ToJSON()、ToArrayList()
/// <summary> /// 扩展方法类 /// </summary> public static class CommonExtension { /// <sum ...
- C#中DataTable与实体集合通用转换(使用扩展方法)
本案例提供了:把DataRow转换为单个实体.dataTable转换为List泛型支持时间格式转换. 下文的方法都是扩展方法.扩展方法要求写在静态类中,方法也要静态. 它必须在一个非嵌套.非泛型的静态 ...
- 【转】给DataTable和DataRow扩展方法,直接转换为对象集合或对象
/// <summary> /// 类 说 明:给DataTable和DataRow扩展方法,直接转换为对象集合或对象 /// 补充说明:此扩展类可以极大的简化操作,但是性能低下,大数据以 ...
- DataTable和DataRow利用反射直接转换为Model对象的扩展方法类
DataTable和DataRow利用反射直接转换为Model对象的扩展方法类 /// <summary> /// 类 说 明:给DataTable和DataRow扩展方法,直接转换为 ...
- C#扩展方法 DataTable.ToEntitys
类A需要添加功能,我们想到的就是在类A中添加公共方法,这个显而易见肯定可以,但是由于某种原因,你不能修改类A本身的代码,但是确实又需要增加功能到类A中去,怎么办? 这个时候扩展方法(Extension ...
- (原创)[C#] DataTable排序扩展方法
一,前言 DataTable的应用极其广泛,对DataTable进行排序也有很多方式,每种的实现方式都不难,但是使用起来却比较繁琐,所以本人便写了一个扩展方法,专门对DataTable进行操作. 本篇 ...
- 分享.NET系统开发过程中积累的扩展方法
.NET 3.5提供的扩展方法特性,可以在不修改原类型代码的情况下扩展它的功能.下面分享的这些扩展方法大部分来自于Code Project或是Stackoverflow,.NET为此还有一个专门提供扩 ...
- 译:泛型List集合转化为DateTable的扩展方法
译文出处:http://www.codeproject.com/Tips/867866/Extension-Method-for-Generic-List-Collection-to-Da 这段代码是 ...
- c#扩展方法的理解(一:初识)
扩展方法是静态方法,是类的一部分,但是实际上没有放在类的源代码中. 扩展方法所在的类也必须被声明为static C#只支持扩展方法,不支持扩展属性.扩展事件等. 扩展方法的第一个参数是要扩展的类型,放 ...
随机推荐
- J2EE基础总结(5)——EJB
什么是EJB JB事实上就是企业Java Beans. EJB是J2EE平台的重要组成部分. J2EE平台基于组件的企业级应用架构,提供多 层次.分布式和高事务的功能特点. EJB提供 ...
- error: 'for' loop initial declarations are only allowed in C99 mode
error: 'for' loop initial declarations are only allowed in C99 mode 使用gcc编译代码是报出 error: 'for' loop i ...
- 负margin使用注意的一个问题
在项目实力中经经常使用到负margin 如: <div id="test"> <ul> <li>子元素1</li> <li&g ...
- Codeforces Round #250 (Div. 1) D. The Child and Sequence 线段树 区间求和+点修改+区间取模
D. The Child and Sequence At the children's day, the child came to Picks's house, and messed his h ...
- Linux/Android多点触摸协议【转】
本文转载自: 链接点击打开链接 关于Linux多点触摸协议大家可以参考kernel中的文档:https://www.kernel.org/doc/Documentation/input/multi-t ...
- DVB-subtitle解析流程浅
DTV包含SUBTITLE和TTX. PMT中分别有不同的描述符对应,如下图的TTX descripter=0x56.语言ISO-639="fin" subtitle descri ...
- 云栖社区> > 正文 永久免费SSL安全证书Letsencrypt安装使用方法
./letsencrypt-auto certonly --standalone --email admin@thing.com -d thing.com -d www.thing.com
- 04、抽取BaseActivity
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext // 注意该方法要再setContentView方法之前实现 // SDKInitializer.ini ...
- mysql的启动和停止
1.检查数据库服务器是否开启:任务管理器-->后台进程-->查看mysqld是否存在.存在说明开启了,反之没开启 2.管理员运行cmd,输入重启指令:net start **(**数据库名 ...
- struts2基础学习----struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ...