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#只支持扩展方法,不支持扩展属性.扩展事件等. 扩展方法的第一个参数是要扩展的类型,放 ...
随机推荐
- wpf slider进度条的样式模板,带有进度颜色显示
效果图: 仅仅需在前台加上这段代码就可以: <UserControl.Resources> <!--笔刷--> <LinearGradientBrush x:Key=&q ...
- js滚轮换切屏
因为全项目不是自己写的,仅仅是帮别人写js滚轮代码,并且别人项目也还未上线.所以仅仅贴出自己写的那段部分代码, 效果:鼠标滚轮滚动时.网頁屏幕一屏一屏的上下切换 (下面代码在本地电脑的IE,chrom ...
- POJ--3164--Command Network【朱刘算法】最小树形图
链接:http://poj.org/problem?id=3164 题意:告诉n个点坐标,m条边表示两个点之间有路.从1点開始建立一个有向图最小生成树. 朱刘算法模板题 =============== ...
- protobuf-net precompile
之前游戏为了解决在ios自动更新的问题,想到使用了将游戏代码打包成dll,使用反射加载执行的办法.办法想好了以后,一直没有做测试.上周不知道什么原因,终于有人去测试了,结果发现报错了.我当时觉得有点意 ...
- 杂项:LDAP
ylbtech-杂项:LDAP 1.返回顶部 1. LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X. ...
- 如何用css约束一个层不可见
两种方式: 方式一:设置属性值为none不可见:display:none 这个属性改变了一个元素的显示效果.之前我有提到一点,假如元素使用了none值,那么元素直接干净利落的消失不见.你在右键审查元素 ...
- MSP430:定时器学习TimerA
4. 定时器TA 一.时钟源1.时钟源:ACLK/SMCLK 外部TACLK/INCLK2.分频:1/2/4/8 当 (注:TACLR 置位时,分频器复位) 二.计数模式通过设置MCx可以设置定时器的 ...
- 为什么要使用XHTML?
XHTML 是什么? XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language). XHTML 的目标是取代 HTML. XHTML 与 HTML ...
- POJ3687Labeling Balls
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14278 Accepted: 4162 D ...
- AJAX json集合传入Controller后台
HTML代码 <html> <head> <meta http-equiv="Content-Type" content="text/htm ...