2020年5月23日星期六

C# List转换成DataTable

C# List转换成DataTable


  /// <summary>  /// C# List转换成DataTable  /// </summary>  /// <param name="list"></param>  /// <returns></returns>  public static System.Data.DataTable ListToDataTable(IList list)  {   System.Data.DataTable result = new System.Data.DataTable();   if (list.Count > 0)   {    PropertyInfo[] propertys = list[0].GetType().GetProperties();    foreach (PropertyInfo pi in propertys)    {     //获取类型     Type colType = pi.PropertyType;     //当类型为Nullable<>时     if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>)))     {      colType = colType.GetGenericArguments()[0];     }     result.Columns.Add(pi.Name, colType);    }    for (int i = 0; i < list.Count; i++)    {     ArrayList tempList = new ArrayList();     foreach (PropertyInfo pi in propertys)     {      object obj = pi.GetValue(list[i], null);      tempList.Add(obj);     }     object[] array = tempList.ToArray();     result.LoadDataRow(array, true);    }   }   return result;  }

没有评论:

发表评论