C#にはデータベースから取得したデータをメモリ上に格納する為の「System.Data.DataTable」クラスがあります。
DataTableクラスはとても柔軟に構造を定義して値を格納する事ができるクラスです。
DataTableの構造とデータを複製する
DataTableクラスには複雑に設計されたデータを複製する為のCopyメソッドが用意されています。
データの複製が必要になった場合は、Copyメソッドを使って新たなオブジェクトを作成する事が出来ます。
//複製元のDataSetを作成 var dtab = new DataTable("Table1"); var fld1 = new DataColumn("Field1", typeof(int)); dtab.Columns.Add(fld1); var fld2 = new DataColumn("Field2", typeof(string)); dtab.Columns.Add(fld2); var row1 = dtab.NewRow(); row1["Field1"] = 1; row1["Field2"] = "壱"; dtab.Rows.Add(row1); var row2 = dtab.NewRow(); row2["Field1"] = 2; row2["Field2"] = "弐"; dtab.Rows.Add(row2); Console.WriteLine("フィールド数:" + dtab.Columns.Count); // Columnsは2個 Console.WriteLine("レコード数 :" + dtab.Rows.Count); // Rowsは2個 //複製したオブジェクトを作成 var copyTab = dtab.Copy(); Console.WriteLine("フィールド数:" + copyTab.Columns.Count); // Columnsは2個 Console.WriteLine("レコード数 :" + copyTab.Rows.Count); // Rowsは2個
構造のみを複製したい場合はCloneメソッド
関連記事
コメントをお書きください