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#只支持扩展方法,不支持扩展属性.扩展事件等. 扩展方法的第一个参数是要扩展的类型,放 ...
随机推荐
- JAVA实现RSA加密解密 非对称算法
首先RSA是一个非对称的加密算法.所以在使用该算法加密解密之前,必须先行生成密钥对.包含公钥和私钥 JDK中提供了生成密钥对的类KeyPairGenerator,实比例如以下: public stat ...
- 杭电 1548 A strange lift(广搜)
http://acm.hdu.edu.cn/showproblem.php?pid=1548 A strange lift Time Limit: 2000/1000 MS (Java/Others) ...
- shell 例程 —— 解决redis读取稳定性
问题背景: php读取线上redis数据,常常不稳定,数据响应时有时无. 解决方法:多次读取.每次读取全部上一次没读出的数据,直到全部获取. 本文实现用shell进行多次redis数据读取, 每次取出 ...
- 我所未知的 typeof 现象
一.一些基本使用测试 从上述可以看出: 1.判断一个 变量 是不是对象类型,不能只用 typeof 运算符: 2.它的返回值一直是一个字符串: 3.尽管 typeof null === 'object ...
- jsp 中声明方法的使用
1.在"<%!"和"%>"之间声明方法,该方法在整个JSP页面有效.可是该方法内定义的变量仅仅在该方法内有效. 这些方法将在Java程序片中被调用, ...
- CoffeeScript里的字符串插值
拼接字符串是我们常干的事情.与其用很多的 "" + "",不如用一下字符串插值,可读性好些. 方法是在字符串中加入#{ 变量.表达式.函数等} getOther ...
- java四舍五入保留几位小数
double d = 3.1415926; String result = String.format("%.2f", d); // %.2f %. 表示 小数点前任意位数 2 表 ...
- PCB MS SQL 标量函数(CLR) 实现Socket发送消息
在PCB业务系统中,数据库中的数据总是被应用端主动连接数据库并操作数据,是否想过可以让数据库主动的将数据推送出去呢! 答应其实是可以的.比如有这样的应用场景! 当SQL SERVER数据库满足某个条件 ...
- [Swift通天遁地]二、表格表单-(3)在表格中嵌套另一个表格并使Cell的高度自适应
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 零基础如何学习Java和web前端
今天说一下零基础到底能不能学习Java,为什么有的人说学不了呢,那么接下来我为大家揭晓,零基础到底适合不适合学习Java. 零基础学习Java的途径第一个就是看视频,然后就是看书,或者在线下报个培训班 ...