1. DataTable转List的第一种方法
DataTable是C#中非常常用的数据结构,而有时候我们需要将DataTable转换为List进行操作。下面我们介绍一种简单的方法来实现这个转换。
步骤1:创建一个源DataTable
首先,我们需要创建一个包含数据的源DataTable。这个DataTable可以来自数据库查询,或者其他数据源。
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Rows.Add(1, "John", 25);
dt.Rows.Add(2, "Mary", 30);
dt.Rows.Add(3, "Tom", 28);
在这个示例中,我们创建了一个包含三个列(ID、Name、Age)的DataTable,并添加了三行数据。
步骤2:创建目标List类型
为了将DataTable转换为List,我们需要创建一个与数据结构相匹配的目标List类型。在这个示例中,我们创建一个名为Person的类,与DataTable对应的结构相同。
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
Person类包含与源DataTable相同的三个属性(ID、Name、Age)。
步骤3:将DataTable转换为List
现在,我们可以通过遍历源DataTable的每一行,并将其转换为Person对象,然后添加到目标List中。
List<Person> personList = new List<Person>();
foreach (DataRow row in dt.Rows)
{
Person person = new Person();
person.ID = Convert.ToInt32(row["ID"]);
person.Name = row["Name"].ToString();
person.Age = Convert.ToInt32(row["Age"]);
personList.Add(person);
}
在这个示例中,我们遍历了源DataTable的每一行,并使用Convert类将每列的值转换为对应类型的属性值,并将Person对象添加到目标List中。
步骤4:使用转换后的List进行操作
现在,我们可以使用转换后的List进行各种操作,比如对数据进行筛选、排序等。
foreach (Person person in personList)
{
Console.WriteLine("ID: " + person.ID);
Console.WriteLine("Name: " + person.Name);
Console.WriteLine("Age: " + person.Age);
Console.WriteLine();
}
在这个示例中,我们遍历了转换后的List,并输出了每个Person对象的属性值。
2. DataTable转List的第二种方法
除了上述方法之外,还可以使用LINQ查询来将DataTable转换为List。
步骤1:创建源DataTable
首先,我们需要创建一个包含数据的源DataTable,与第一种方法相同。
步骤2:创建目标List类型
同样,我们需要创建一个与数据结构相匹配的目标List类型,与第一种方法相同。
步骤3:使用LINQ查询进行转换
使用LINQ查询时,我们可以通过使用var关键字和query关键字来实现对DataTable的查询和转换操作。
List<Person> personList = (from DataRow row in dt.Rows
select new Person
{
ID = Convert.ToInt32(row["ID"]),
Name = row["Name"].ToString(),
Age = Convert.ToInt32(row["Age"])
}).ToList();
在这个示例中,我们使用LINQ查询从源DataTable的每一行中创建一个Person对象,并将结果转换为List。
步骤4:使用转换后的List进行操作
同样,我们可以使用转换后的List进行各种操作,与第一种方法相同。
总结
本文介绍了两种将DataTable转换为List的方法。第一种方法是通过遍历源DataTable的每一行,并将每一行的数据转换为目标List类型的对象。第二种方法是使用LINQ查询来实现转换操作。无论是哪种方法,都可以将DataTable转换为List,方便后续的数据操作。
在使用这些方法时,需要注意源DataTable和目标List类型的数据结构要相匹配,以确保数据的准确转换和使用。
以上就是本文对C#中DataTable转List的两种方法的详细介绍,希望对你有所帮助。