title: Convert a Object [,] array into a dataset / datatable in C#
body: <p>C# Convert a Multi dimensional Object[,]array into a dataset / datatable</p>
  
  <p>I have Object[,] and I am  passing that to function and I need to build Datatable  </p>
  
  <p>Here is my code I am trying this way</p>
  
  <pre><code> public static DataTable ArraytoDatatable(Object[,] numbers)
  {                 
      DataTable dt = new DataTable();
  
  Console.WriteLine(numbers.Rank);
  Console.WriteLine(numbers.Length);
  
  for (int dimension = 0; dimension &lt; numbers.Rank; dimension++)
  {
      dt.Columns.Add("Column"+(dimension+1));
  }
  
  Console.WriteLine("Array");
  for (int element = 0; element &lt; (numbers.Length / numbers.Rank); element++)
  {
      DataRow row = dt.NewRow();
      for (int dimension = 0; dimension &lt; numbers.Rank; dimension++)
      {
          Console.Write("{0} ", numbers[element,dimension]);                    
          row["Column" + (dimension + 1)] = numbers[element, dimension];
      }
      dt.Rows.Add(row);
      Console.WriteLine();
  }
  
  Console.WriteLine("DataTable");
  foreach (DataRow row in dt.Rows)
  {
      foreach (DataColumn column in dt.Columns)
      {
          Console.Write("{0} ", row[column]);
      }
      Console.WriteLine();
  }
  
  return dt;
  
  }
  </code></pre>
  
  <p>Please help me if there is any other kind of approach </p>
  
  <p>Error is here please take a look 
  <a href="http://i.stack.imgur.com/pzqui.jpg" rel="nofollow">enter image description here</a></p>
  
  <hr>
  
  <p>Another approach I  tried is </p>
  
  <p>-` </p>
  
  <pre><code>public DataSet ToDataSet(Object[,] myData)
       {
       DataSet ds = new DataSet();
  
       // Test 2D array of Objects so that different data types 
       // can be in each element
  
  
       // Create a DataTable object. Each row in the table is one
       // row in the array
       DataTable dt = new DataTable();
       // Create DataColumns for each column in the row
       // each column is a element in the array param 1 is the name
       // of the column and param 2 is its data type
       DataColumn dc = new DataColumn("block", typeof(System.String));
       // Add this column to the columns collection of the data table
       dt.Columns.Add(dc);
       dc = new DataColumn("mode", typeof(System.String));
       dt.Columns.Add(dc);
  
  
       dt.Columns.Add(dc);
  
  
  
  
  
  
  
  
  
  
       for (var i = 0; i &lt; myData.GetLength(0); i++)
           for (var j = 0; j &lt; myData.GetLength(1); j++)
               dt.Rows[i][j] = myData[i, j];
  
  
       // Add the row to the DataTable
       // dt.Rows.Add(data);
  
  
       // If you need to add the DataTable to a DataSet
       // then execute the next two lines
       DataSet ds1 = new DataSet();
       ds.Tables.Add(dt);
  
  
  
       return ds1;
   }
  </code></pre>
  
  <p>`</p>