天天看點

c#将list集合轉換為datatable的簡單辦法

public

static class ExtensionMethods

        {

        ///

<summary>

将List轉換成DataTable

</summary>

<typeparam name="T"></typeparam>

<param name="data"></param>

<returns></returns>

        public

static DataTable ToDataTable<T>(this IList<T> data)

            {

            PropertyDescriptorCollection

properties = TypeDescriptor.GetProperties(typeof(T));

            DataTable

dt = new DataTable();

            for

(int i = 0; i < properties.Count; i++)

                {

                PropertyDescriptor

property = properties[i];

                dt.Columns.Add(property.Name,

property.PropertyType);

                }

            object[]

values = new object[properties.Count];

            foreach

(T item in data)

                for

(int i = 0; i < values.Length; i++)

                    {

                    values[i]

= properties[i].GetValue(item);

                    }

                dt.Rows.Add(values);

            return

dt;

            }

        }

繼續閱讀