【C#】DataTableとDataTableを比較する

  • このエントリーをはてなブックマークに追加

<今回の目的>

DataTableとDataTableを比較する方法を記載しています。

以下、ソースを記載します。

            /*
             * DataTableとDataTableを比較する
             */
            DataTable dt = new DataTable();
            dt.Columns.Add("A");
            dt.Columns.Add("B");
            dt.Columns.Add("C");
            for (int i = 0; i < 5; i++)
            {
                DataRow dr = dt.NewRow();
                dr["A"] = "1";
                dr["B"] = "B" + i.ToString();
                dr["C"] = "C" + i.ToString();
                dt.Rows.Add(dr);
            }
            DataTable dt2 = new DataTable();
            dt2.Columns.Add("A");
            dt2.Columns.Add("B");
            dt2.Columns.Add("C");
            //for (int i = 0; i < 5; i++)  // 一致
            for (int i = 0; i < 6; i++)  // 不一致
            {
                DataRow dr = dt2.NewRow();
                dr["A"] = "1";
                dr["B"] = "B" + i.ToString();
                dr["C"] = "C" + i.ToString();
                dt2.Rows.Add(dr);
            }

            // DataTable1 = DataTable2を比較する
            if (dt.AsEnumerable().SequenceEqual(dt2.AsEnumerable(), DataRowComparer.Default))
            {
                // 一致
            }
            else
            {
                // 不一致
            }