- 浏览: 232962 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
net_liu:
zxptian 写道楼主能把TransferFiles也贴出来 ...
c# Socket 文件的传输 -
zxptian:
楼主能把TransferFiles也贴出来分享下吗?
c# Socket 文件的传输
DataTable转泛型
public class DataHelper
{
/// <summary>
/// 多个DataRow转换泛型集合
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="rows"></param>
/// <returns></returns>
public static List<T> ConvertTo<T>(List<DataRow> rows)
{
List<T> list = null;
if (rows != null)
{
list = new List<T>();
foreach (DataRow row in rows)
{
T item = CreateItem<T>(row);
list.Add(item);
}
}
return list;
}
/// <summary>
/// Table转List
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="table"></param>
/// <returns></returns>
public static List<T> ConvertTo<T>(DataTable table)
{
if (table == null)
{
return null;
}
List<DataRow> rows = new List<DataRow>();
foreach (DataRow row in table.Rows)
{
rows.Add(row);
}
return ConvertTo<T>(rows);
}
public static T CreateItem<T>(DataRow row)
{
T obj = default(T);
if (row != null)
{
obj = Activator.CreateInstance<T>();
foreach (DataColumn column in row.Table.Columns)
{
PropertyInfo prop = obj.GetType().GetProperty(column.ColumnName);
try
{
if (prop != null && prop.CanWrite)
{
object value = row[column.ColumnName];
if (value != DBNull.Value)
{
prop.SetValue(obj, value, null);
}
}
}
catch (Exception ex)
{
// You can log something here
throw;
}
}
}
return obj;
}
}
发表评论
-
List转DataTable(反射)
2012-02-06 10:48 2741List转DataTable(反射) // ... -
利用鼠标钩子将鼠标中键转为左键
2011-05-04 13:50 1644利用鼠标钩子将鼠标中键转为左键 鼠标 ... -
C# 命名规范
2011-04-01 13:32 1969C# 命名规范 文章分类:.net编程 ... -
VS2008 快捷键大全
2011-04-01 13:30 915VS2008 快捷键大全[转帖] 文章分类 ... -
C# 中的委托和事件
2011-04-01 13:26 1285缩略显示 C# 中的委托和事件 文章 ... -
C#Winform限制Textbox只能输入数字
2011-04-01 13:20 7480C#Winform限制Textbox ... -
C# 跳转语句(break,continue,goto,return,throw)
2011-04-01 12:38 3433C# 跳转语句(break,continue,goto,r ... -
C#窗体固定在桌面上
2010-11-19 10:25 1650[DllImport("user32.dll& ... -
cookie记住密码
2010-11-10 12:58 2308cookie记住密码: /// <summary> ... -
if-else 都输出的方法
2010-10-12 11:44 1308if-else 都输出的方法 if (new Func< ... -
反射技术
2010-09-15 17:42 922什么是反射? 反射就 ... -
发一个接口做参数的例子
2010-08-06 08:48 957发一个接口做参数的例子 回头接口 using System ... -
C#中使用正则表达式
2010-08-04 13:39 1337C#中的正则表达式包含 ... -
C#的几个技巧
2010-08-04 13:35 8491.如果可能尽量使用接 ... -
反射动态调用类成员
2010-08-04 13:30 982使用反射动态调用类成员,需要Type类的一个方法:Invoke ... -
在vs2005中发送邮件
2010-08-03 16:14 1146在vs2005中发送邮件的方法如下: ... -
XML数据排序
2010-06-30 14:20 3406根据XML数据的Index 来进行排序 方法一: ... -
程序动态升级版本
2010-06-30 10:00 998C#实现程序动态升级版本。通过反射获取本地版本,然后跟服务器中 ... -
验证码生成
2010-06-25 16:48 890namespace WebApplication1.验证码 ... -
将DataGridView 数据导出到Excel
2010-06-25 15:46 5093/// <summary> ...
相关推荐
非常方便的datatable类型与List泛型实体对象集合的互相转换,在面向对象的开发中,经常会用到的,如使用上不懂可以咨询我
在C#开发中,将DataTable转换为List泛型集合是一个常见的需求,特别是在使用三层架构进行网站开发时,我们可能会从数据访问层获取一个DataTable对象,然后需要将其转换为一个强类型的List集合以便在业务逻辑层或表示...
将datatable转换为实体类LIST,运用了反射和泛型的技术
利用反射和泛型 把Datatable转化为List 1
本文实例讲述了C#将DataTable转换成list及数据分页的方法。分享给大家供大家参考。具体如下: 代码如下:/// /// 酒店评论列表-分页 /// /// ”userId”> /// ”pageIndex”>当前页 /// ”pageCount”...
在实现将DataTable对象转换为List对象时,使用泛型可以实现类型安全。使用`where T : class, new()`约束可以确保T类型是类类型,并且可以实例化。 6. 优化性能 在将DataTable对象转换为List对象时,需要优化性能。...
这里定义了一个名为`ParseToDataTable`的公共方法,它接受一个泛型参数`T`以及一个泛型列表`IList<T>`作为输入参数,并返回一个`DataTable`对象。 2. **创建DataTable实例**: ```csharp DataTable dt = new ...
在这个示例中,`ToList<TResult>`方法接收一个`DataTable`对象`dt`作为参数,并通过泛型约束`where TResult : class, new()`确保`TResult`是一个可实例化的类。然后,它使用反射获取`TResult`的所有公共属性,并找到...
泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行。当涉及到两者之间的转换时,就显得有些较为繁琐。这个其中的问题主要在两者的存储方式...
在.NET开发环境中,经常需要处理各种数据集合,例如List对象,然后将其转化为表格格式,比如DataTable,以便于进一步的数据操作,比如...以上就是关于"List转DataTable并导出为Excel"的相关知识点,希望对你有所帮助。
NPOL网上有返回DataTable,我自己编写了个泛型版的。
附件包括 c# 对 DataTable各种常用操作的源代码 包括DataTable按起始位置和移动及移动方向进行移动并返回新的DataTable ;根据条件过滤表 ;返回两个表的关联数据,关联后的表中只...将Datatable封装成泛型 等各种函数
在IT行业中,尤其是在进行数据处理和管理时,`List泛型` 和 `DataSet` 是两个非常重要的概念。它们都是在.NET框架中广泛使用的数据结构,各自有着特定的应用场景和优势。 首先,我们来深入理解一下`List泛型`。泛型...
为了将`DataTable`转换为`IList<T>`,我们需要创建一个新的泛型类,这里以`TBToList<T>`为例,其中`T`代表我们需要转换的目标对象类型。这个类需要包含一个`ToList`方法,该方法接收一个`DataTable`对象并返回一个`...
Excel导入导出帮助类,支持将DataTable、泛型集合导出到Excel,支持office全版本。
这里的T代表了IList中的元素类型,这使得转换方法具有泛型,可以处理任何实现了IList接口且具有公共属性的对象。 通过以上代码,我们可以灵活地将IList对象转换为适合数据库操作和数据绑定的DataTable和DataSet。在...
下面将详细介绍如何实现DataTable与实体类之间的互相转换,并探讨相关的泛型类设计。 首先,让我们理解DataTable。DataTable是一个内存中的数据表,它可以独立于数据库存在,也可以作为DataSet的一部分。它包含了列...
为了高效地将 `DataRow` 转换为 `Person` 对象,我们可以创建一个静态类 `DataConvert`,并使用泛型方法 `ToEntity`: ```csharp public static class DataConvert<T> where T : new() { public static T ToEntity...
`List<T>`是泛型集合,提供了强类型的安全性和更好的性能,而`ArrayList`是.NET Framework早期版本的非泛型集合,兼容性较好但效率略低。 `MyList.cs`和`MyCollections.MyDataTable.csproj`可能是个人实现的列表类...
代码中还有一个`ListToJson<T>`方法,用于将泛型列表转换为JSON。这个方法通过反射获取对象类型,并创建JSON表示: ```csharp public static string ListToJson(IList<T> list, string typeName) { var ...