.NET 6 List to DataTable Conversion: A Comprehensive Guide with Code Example
在.NET 6中,你可以使用以下代码将List转换为DataTable:\n\ncsharp\nusing System;\nusing System.Collections.Generic;\nusing System.Data;\n\npublic class Program\n{\n public static void Main()\n {\n // 创建一个List\n List<Person> personList = new List<Person>()\n {\n new Person { Id = 1, Name = "John", Age = 30 },\n new Person { Id = 2, Name = "Jane", Age = 25 },\n new Person { Id = 3, Name = "Tom", Age = 35 }\n };\n\n // 将List转换为DataTable\n DataTable dataTable = ToDataTable(personList);\n\n // 打印DataTable的内容\n foreach (DataRow row in dataTable.Rows)\n {\n foreach (var item in row.ItemArray)\n {\n Console.Write(item + " ");\n }\n Console.WriteLine();\n }\n }\n\n public static DataTable ToDataTable<T>(List<T> items)\n {\n DataTable dataTable = new DataTable(typeof(T).Name);\n\n // 获取所有公共属性\n var properties = typeof(T).GetProperties();\n\n // 创建表的列\n foreach (var property in properties)\n {\n dataTable.Columns.Add(property.Name, property.PropertyType);\n }\n\n // 添加数据行\n foreach (var item in items)\n {\n var values = new object[properties.Length];\n for (int i = 0; i < properties.Length; i++)\n {\n values[i] = properties[i].GetValue(item);\n }\n dataTable.Rows.Add(values);\n }\n\n return dataTable;\n }\n}\n\npublic class Person\n{\n public int Id { get; set; }\n public string Name { get; set; }\n public int Age { get; set; }\n}\n\n\n这个例子中,我们首先创建了一个包含Person对象的List。然后,我们使用ToDataTable方法将List转换为DataTable。ToDataTable方法使用反射获取Person对象的属性,并创建相应的DataTable列。接下来,我们遍历List中的每个Person对象,将其属性值添加到DataTable的数据行中。\n\n最后,我们打印DataTable的内容,以验证转换是否成功。运行上述代码,你将会看到如下输出:\n\n\n1 John 30\n2 Jane 25\n3 Tom 35\n\n\n这证明了List已经成功转换为DataTable。\n\n在实际应用中,你可以使用这个方法将各种类型的List转换为DataTable,方便进行数据处理和操作。\n\n了解更多:\n\n* DataTable 类文档\n* 反射技术\n\n希望这个指南对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/p9BZ 著作权归作者所有。请勿转载和采集!