C# 要列出的数据表中没有for循环

C# 要列出的数据表中没有for循环,c#,datatable,C#,Datatable,这是我的代码部分:使用分部类 partial class Program { static DataTable dt; Program() { Initializer(); } class DataItem { public int Id { get; set; } public string Name { g

这是我的代码部分:使用分部类

   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,请告诉我。

在上面的示例中,我不适用,请检查我的代码…编辑代码。您的陈述是正确的。但是我想要没有循环的概念。
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();  
        }
    }