Here is an example of how you could build a dynamic table to hold your data. The field names and data types are up to you to decide, etc.:
public void BuildDynamicTableArrayExample()
{
DataTable dt = new DataTable(); // table to hold each record
dt.Columns.Add(new DataColumn("FieldName1", typeof(string))); // Create a string column dynamically
dt.Columns.Add(new DataColumn("FieldName2", typeof(int))); // create an int column dyn
dt.Columns.Add(new DataColumn("FieldName3", typeof(double))); // create a double column dyn
for (int r = 0; r < 10; r++) // generate 10 rows of data
{
DataRow dr = dt.NewRow(); // create a row object of table's type defined above
dr["FieldName1"] = "data " + r; // add some data...
dr["FieldName2"] = r;
dr["FieldName3"] = (double)r;
dt.Rows.Add(dr); // add the row to the table
}
}