C# 列表转换为数据表c面临的问题

C# 列表转换为数据表c面临的问题,c#,C#,在将列表转换为datatable时,我有以下代码和面临的问题。 这一行给出了错误。DataTable studentTable=学生 请纠正我。请试试这个。你必须先转换它。C不允许您相互分配不同类型的值 public DataTable GetDetails() { List<Student> Students = new List<Student>(){ new Student() { Name = "Jack", A

在将列表转换为datatable时,我有以下代码和面临的问题。 这一行给出了错误。DataTable studentTable=学生


请纠正我。

请试试这个。你必须先转换它。C不允许您相互分配不同类型的值

 public DataTable GetDetails()
    {

        List<Student> Students = new List<Student>(){
            new Student() { Name = "Jack", Age = 1, StudentId = 100 },
            new Student() { Name = "Smith", Age = 2, StudentId = 101 },   
                   new Student() { Name = "Smit", Age = 3, StudentId = 102 },};
        DataTable studentTable = new DataTable();// Changed
       using(var reader = ObjectReader.Create(Students)) 
          {
            studentTable.Load(reader);
          }
       return studentTable; //need it?
    }

抱歉,如果它不起作用,请查看更多

您应该先创建列,然后添加行,而不是创建列表

Studenttable.columns.add("Name", typeof(string));
Studenttable.columns.add("Agg", typeof(int));
Studenttable.columns.add("StudentID", typeof(int));

Studenttable.Rows.add("Jack",1,100);

无法将类型列表分配给类型DataTable。我想这是一个非常简单的错误。C是一种强类型语言。不能将变量分配给不同类型的实例。这是很明显的…可能重复的请有人建议编辑代码和更正我
Studenttable.columns.add("Name", typeof(string));
Studenttable.columns.add("Agg", typeof(int));
Studenttable.columns.add("StudentID", typeof(int));

Studenttable.Rows.add("Jack",1,100);