【问题标题】:DataTable to List<Class> without for Loop in c# [duplicate]DataTable to List<Class> 在c#中没有for循环[重复]
【发布时间】: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,请告诉我。

【问题讨论】:

    标签: c# datatable


    【解决方案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();  
            }
        }
    

    【讨论】:

    • 在上面的例子中对我不起作用,请检查我的代码......
    • 编辑了代码。
    • 您的说法是正确的。但我想要没有循环的概念。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多