,可以通过以下步骤实现:
以下是一个示例代码:
using System;
using System.Data;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
// 创建DataTable对象
DataTable dataTable = new DataTable();
// 获取Person对象的属性信息
var properties = typeof(Person).GetProperties();
// 遍历属性列表,动态添加列
foreach (var property in properties)
{
dataTable.Columns.Add(property.Name, property.PropertyType);
}
// 创建Person对象列表
var persons = new[]
{
new Person { Name = "Alice", Age = 25, Gender = "Female" },
new Person { Name = "Bob", Age = 30, Gender = "Male" }
};
// 遍历对象列表,添加数据行
foreach (var person in persons)
{
var row = dataTable.NewRow();
foreach (var property in properties)
{
row[property.Name] = property.GetValue(person);
}
dataTable.Rows.Add(row);
}
// 打印DataTable内容
foreach (DataRow row in dataTable.Rows)
{
foreach (DataColumn column in dataTable.Columns)
{
Console.WriteLine($"{column.ColumnName}: {row[column]}");
}
Console.WriteLine();
}
}
}
这段代码演示了如何将Person对象的属性动态添加到DataTable中,并将对象列表的数据填充到DataTable中。最后,打印出DataTable的内容。
推荐的腾讯云相关产品:腾讯云数据库(https://cloud.tencent.com/product/cdb)可以用于存储和管理DataTable中的数据。
领取专属 10元无门槛券
手把手带您无忧上云