Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 22953|Odpoveď: 0

[Zdroj] .net konvertuje DataTable na kolekciu

[Kopírovať odkaz]
Zverejnené 19. 1. 2016 12:22:57 | | |
  1. /// <summary>
  2.         /// 将DataTable转成集合
  3.         /// </summary>
  4.         /// <typeparam name="T"></typeparam>
  5.         /// <param name="dt"></param>
  6.         /// <returns></returns>
  7.         public static List<T> ToListFromDataTable<T>(this DataTable dt)
  8.         {
  9.             try
  10.             {
  11.                 List<T> list = new List<T>();
  12.                 T t = default(T);
  13.                 PropertyInfo[] propertypes = null;
  14.                 string tempName = string.Empty;

  15.                 foreach (DataRow row in dt.Rows)
  16.                 {
  17.                     t = Activator.CreateInstance<T>();
  18.                     propertypes = t.GetType().GetProperties();

  19.                     foreach (PropertyInfo pro in propertypes)
  20.                     {
  21.                         tempName = pro.Name;
  22.                         if (dt.Columns.Contains(tempName))
  23.                         {
  24.                             object value = row[tempName];
  25.                             if (value.GetType() == typeof(System.DBNull))
  26.                             {
  27.                                 value = null;
  28.                             }
  29.                             pro.SetValue(t, value, null);
  30.                         }
  31.                     }
  32.                     list.Add(t);
  33.                 }
  34.                 return list;
  35.             }
  36.             catch
  37.             {
  38.                 return null;
  39.             }
  40.         }
Kopírovať kód






Predchádzajúci:Typy SQL Serverov zodpovedajú typom v C#
Budúci:Rozšírenie nie je uvedené v Chrome Web Store a mohlo byť pridané bez vášho vedomia.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com