C#中List转Datatable的方法

  List batchOrders = new List();
            batchOrders = result.Item3;
            DataTable dt = new DataTable();
            if (batchOrders.Count > 0)
            {
                PropertyInfo[] propertys = batchOrders[0].GetType().GetProperties();

                foreach (PropertyInfo pi in propertys)
                {
                    dt.Columns.Add(pi.Name);
                }
                foreach (object t in batchOrders)
                {
                    ArrayList tempList = new ArrayList();
                    foreach (PropertyInfo pi in propertys)
                    {
                        object obj = pi.GetValue(t, null);
                        tempList.Add(obj);
                    }
                    object[] array = tempList.ToArray();
                    dt.LoadDataRow(array, true);
                }
            }

你可能感兴趣的:(C#中List转Datatable的方法)