DataTable to List<Class> 在c#中没有for循环[重复]

     2023-02-22     119

关键词:

【中文标题】DataTable to List<Class> 在c#中没有for循环[重复]【英文标题】:DataTable to List<Class> without for Loop in c# [duplicate] 【发布时间】:2019-11-24 01:35:45 【问题描述】:

这是我的代码部分:(带有 Partial 类)

   partial class Program
        
       static DataTable dt;
        Program()
        
            Initializer();
        
        class DataItem
        
            public int Id  get; set; 
            public string Name  get; set; 
        
        public void Initializer()
        
            dt = new DataTable();
            //Columns Add
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            //Row of Data Add
            dt.Rows.Add(1, "Elango");
            dt.Rows.Add(2, "Ampa");
            dt.Rows.Add(3, "Madhu");
                
    

输出方法:

partial class Program
    
        static void Main(string[] args)
        
            Program pg = new Program();
            DataTable dts = dt;
            List<DataItem> dataItems = dt.AsEnumerable().ToList<DataItem> 
         ();
        
    

在这里,我尝试了一些东西。如果有人知道如何将 Datatable 转换为 List,请告诉我。

【问题讨论】:

【参考方案1】:
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System;

public partial class Program
        
       static DataTable dt;
        Program()
        
            Initializer();
        
        class DataItem
        
            public int Id  get; set; 
            public string Name  get; set; 
        
        public void Initializer()
        
            dt = new DataTable();
            //Columns Add
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            //Row of Data Add
            dt.Rows.Add(1, "Elango");
            dt.Rows.Add(2, "Ampa");
            dt.Rows.Add(3, "Madhu");
                
    

public partial class Program
    
        public static void Main()
        
            Program pg = new Program();
            DataTable dts = dt;

            List<DataItem> studentList = new List<DataItem>();  

    studentList = (from DataRow dr in dt.Rows  
            select new DataItem()  
              
                Id = Convert.ToInt32(dr["Id"]),  
                Name = dr["Name"].ToString()
            ).ToList();  
        
    

【讨论】:

在上面的例子中对我不起作用,请检查我的代码...... 编辑了代码。 您的说法是正确的。但我想要没有循环的概念。

list转换datatable

///<summary>    ///将泛类型集合List类转换成DataTable    ///</summary>    ///<paramname="list">泛类型集合</param>    ///<returns></returns>    publicSystem.Data.DataTab 查看详情

datatable和list互转

///<summary>///list转datatable///</summary>///<typeparamname="T"></typeparam>///<paramname="collection"></param>///<returns></returns>publicDataTableList 查看详情

我建立了一个datatable,,想把它的值赋给一个list,怎么办?

DataTabledt=GetZoneInfoFromTxt(filePath);//调用一个获取datatable的函数varresult=fromdindt.Select()selectd;List<ZInfo>zoneinfo=result.ToList<ZInfo>();然后报错:Error 104 'System.Collections.Generic.IEnumerable<System.Data.DataRow>'doesnotcontainadefinitionfor&#... 查看详情

datatable和list相互转换

由于C#3.0出现了扩展方法 我们可以通过这样一个特性来简化我们的开发.DataTable转换为List<T>的我们可以通过扩展DataTable来简化publicstaticclassDataTableExtensions///<summary>///DataTable转换为List集合///</summary>///<typeparamnam 查看详情

将 DataTable 转换为 List<T>

】将DataTable转换为List<T>【英文标题】:ConvertDataTabletoList<T>【发布时间】:2011-01-1721:54:57【问题描述】:我有一个疑问,有时我从DataTable转换为List&lt;T&gt;:List<EDog>lstDogs=(fromdrRowindsDogs.Tables[0].AsEnumerable()selectnew... 查看详情

c#datatable转list和list转datatable

1、///将List<>转换为DataTablepublicstaticDataTableListToDataTable<T>(IEnumerable<T>collection)varprops=typeof(T).GetProperties();vardt=newDataTable();dt.Columns.AddRange(props.Sel 查看详情

将 DataTable 转换为 List<T>

】将DataTable转换为List<T>【英文标题】:ConvertDataTabletoList<T>【发布时间】:2010-11-2811:42:56【问题描述】:我有一个MyType类型的强类型数据表,我想将其转换为List&lt;MyType&gt;。我该怎么做?谢谢。【问题讨论】:DataT... 查看详情

datatable转list,转对象

DataTable转ListpublicstaticList<T>ToListModel<T>(thisDataTabletable)whereT:new(){vartype=typeof(T);varproperties=type.GetProperties();List<T>list=newList<T>();foreach(DataRowrow 查看详情

datatable转换成list

 usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Reflection;usingSystem.Text; publicclassHelper<T>whereT:new(){///<summary>///datatable转list///</summa 查看详情

list集合转换成datatable(代码片段)

///将list集合转换成datatable///</summary>///<paramname="list"></param>///<returns></returns>publicstaticSystem.Data.DataTableListToDataTable(IListlist)System.Data.DataTableresult=newSystem.Data.DataTable();if(list.Count>0)PropertyInfo[]propertys=list[0].GetType... 查看详情

datatable和list的转换

在开发中,把查询结果以DataTable返回很方便,但是在检索数据时又很麻烦,没有list<T>检索方便。但是数据以ILIST形式返回,就为我们在.NET中使用传统的数据绑定造成了不便。下面介绍datatable和list的相互转换 1.datatable转... 查看详情

datatable转换为list

 publicList<string[]>SetList(DataTabledt)       {           List<string[]>list=newList<str 查看详情

c#将datatable转换成list的方法

本文实例讲述了C#将DataTable转换成list及数据分页的方法。分享给大家供大家参考。具体如下:///<summary>  ///酒店评论列表-分页 ///</summary> ///<paramname="userId"></param> ///<paramname="pageIndex 查看详情

datatable和list相互转化

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Data;usingSystem.Reflection;///<summary>///DtList的摘要说明///</summary>publicclassDtList{///<summary 查看详情

datatable转换为其他对象

1.将DataTable类型的数据转换成List<T>集合1///<summary>2///将DataTable类型的数据转换成List<T>集合T实体3///</summary>4///<typeparamname="T"></typeparam>5///<paramname="dataTable"></p 查看详情

list泛型转换成datatable

publicDataTableListToDataTable<T>(List<T>list){DataTabledt=newDataTable("CarInfo");Typetype=typeof(T);//根据类型获取类型System.Reflection.PropertyInfo[]properts=type.GetProperties();//根据反射类型获取类型所有 查看详情

datatable序列化(代码片段)

DataTable是复杂对象,无法直接序列化,必须通过其他的方式来实现下面介绍一下常用的几种方式1、先转换为List,再序列化List下面是DataTable转换为List的方法1protectedList<T>ConvertToList<T>(DataTabledt)whereT:new()23//定义集合4List<... 查看详情

键值集合list转换成datatable(代码片段)

///<summary>///键值集合List转换成datatable///</summary>///<paramname="data">数据源</param>///<returns></returns>DataTableToDataTable(List<Dictionary<string,string>>data)DataTabledt=newDataTable();foreach(varitemindata[0].Keys)//循环添加... 查看详情