venerdì 17 aprile 2026

C# convertire un oggetto list in DataTable

In questo frammento di codice nel linguaggio di programmazione C#, illustra una tecnica per convertire una lista di qualsiasi classe, con un DataTable. 

C#

private DataTable ConvertListToDataTable<T>(List<T> dataList)

 {

     DataTable dataTable = new DataTable();

 

     //Creazione delle colonne

     typeof(T).GetProperties().ToList().ForEach(property =>

     {

         dataTable.Columns.Add(property.Name, Nullable.GetUnderlyingType(property.PropertyType) ?? property.PropertyType);

     });

 

     //Valorizzo i dati nel datatable

     dataList.ForEach(item =>

     {

         DataRow row = dataTable.NewRow();

         typeof(T).GetProperties().ToList().ForEach(property =>

         {

             row[property.Name] = property.GetValue(item) ?? DBNull.Value;

         });

         dataTable.Rows.Add(row);

     });

 

     return dataTable;

 }

 




La funzione sarà invocato nel seguente modo, dove listDati è una lista di una classe con n proprietà.

C#

DataTable dati = ConvertListToDataTable(listDati);

Nessun commento: