DataTable to List<Class> 在c#中没有for循环[重复]
Posted
技术标签:
【中文标题】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();
【讨论】:
在上面的例子中对我不起作用,请检查我的代码...... 编辑了代码。 您的说法是正确的。但我想要没有循环的概念。以上是关于DataTable to List<Class> 在c#中没有for循环[重复]的主要内容,如果未能解决你的问题,请参考以下文章
C#DataTable(转List /JSON/字典 互转)