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#只支持扩展方法,不支持扩展属性.扩展事件等. 扩展方法的第一个参数是要扩展的类型,放 ...
随机推荐
- Python3基础(十) 类的初印象
Python是一种面向对象的脚本语言,所以它也提供了面向对象编程的所有基本特征:允许多继承的类继承机制.派生类可以重写它父类的任何方法.一个方法可以调用父类中同名的方法.对象可以包含任意数量和类型的数 ...
- C++学习之继承中的访问控制
我们通常认为一个类有两种不同的用户:普通用户 和 类的实现者.其中,普通用户编写的代码使用类的对象,这部分代码只能访问类的公有(接口)成员:实现者则负责编写类的成员和友元的代码,成员和友元既能访问类的 ...
- HDOJ 题目5289 Assignment(RMQ,技巧)
Assignment Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
- LLDB 常用命令
dump: memory read --force --outfile [文件名] --binary [start_address] [end_address] 查找函数地址: 对于有调试符号的这样使 ...
- 初探C++运算符重载学习笔记<2> 重载为友元函数
初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 以下的两种情况发生.则我们须要将运算符重载为类的友元函数 <1>成员函数不能满足要求 ...
- Algorithmic Crush
evendra在9号云上看到了他的教练朝他微笑. 每次教授选出Devendra单独问他一个问题,Devendra朦胧的头脑里全是他的教练和她的微笑,以至于他无法专注于其他事情.帮助他解决这个问题: 给 ...
- MBEEWALK - Bee Walk
A bee larva living in a hexagonal cell of a large honey comb decides to creep for a walk. In each “s ...
- Java 数组的 12 个方法
1. 声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...
- html5拨打电话及发短信
1.最常用WEB页面一键拨号的电话拨打功能 <a href="tel:15088888888">拨号</a> 2.最常用WEB页面一键发送短信功能: < ...
- Flink编程练习
目录 1.wordcount 2.双流警报EventTime 3.持续计数stateful + timer + SideOutputs 4.一定时间范围内的极值windowfunction + che ...