如何将列表转换为数据表我有一个包含一些属性的数据列表。我想将该列表数据转换为数据表。如何将列表转换为数据表。只需添加此函数并调用它,它就会将List转换为DataTable。publicstaticDataTableToDataTable(Listitems){DataTabledataTable=newDataTable(typeof(T).Name);//获取所有属性PropertyInfo[]Props=typeof(T).GetProperties(BindingFlags.Public|BindingFlags.Instance);foreach(PropertyInfopropinProps){//定义数据列的类型给出适当的数据表vartype=(prop.PropertyType.IsGenericType&&prop.PropertyType.GetGenericTypeDefinition()==typeof(Nullable)?Nullable.GetUnderlyingType(prop.PropertyType):道具.属性类型);//设置列名作为属性名dataTable.Columns.Add(prop.Name,type);}foreach(Titeminitems){varvalues=newobject[Props.Length];for(inti=0;i您可以使用此扩展方法并像这样调用它。DataTabledt=YourList.ToDataTable();publicstaticDataTableToDataTable(thisListiList){DataTabledataTable=newDataTable();PropertyDescriptorCollectionpropertyDescriptorCollection=TypeDescriptor.GetProperties(typeof(T));对于(inti=0;i))type=Nullable.GetUnderlyingType(type);dataTable.Columns.Add(propertyDescriptor.Name,类型);}object[]values=newobject[propertyDescriptorCollection.Count];foreach(TiListIteminiList){for(inti=0;istaticDataTableConvertListToDataTable(Listlist){//新表。DataTabletable=newDataTable();//获取最大列数。intcolumns=0;foreach(vararrayinlist){if(array.Length>columns){columns=array.Length;}}//添加列for(inti=0;ilist=newList();list.Add(newstring[]{“第1列”,“第2列”,“第3列”});list.Add(newstring[]{"Row2","Row2"});list.Add(newstring[]{"Row3"});//转换为DataTable。DataTabletable=ConvertListToDataTable(列表);dataGridView1.DataSource=表格;以上就是C#学习教程:如何将列表转换成数据表的全部内容分享,如果对大家有用,需要详细了解C#学习教程,希望大家关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
