気になった事を自由に書いてます。
      
更新:2011/04/02
DataTableを比較してみた。その2
前回の続きです。
前回はDataTableの値を全て比較しました。今回は一部の列を除いて比較するサンプルです。

テストコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public bool DataTableCompare(DataTable dt1, DataTable dt2, List<string> filter)
{
    if (dt1 == null && dt2 != null) { return false; }
    if (dt1 != null && dt2 == null) { return false; }
    if (dt1 == null && dt2 == null) { return true; }
    if (dt1.Rows.Count != dt2.Rows.Count) { return false; }
    for (int rowIndex = 0; rowIndex < dt2.Rows.Count; rowIndex++)
    {
        for (int colIndex = 0; colIndex < dt2.Columns.Count; colIndex++)
        {
            // 指定したタイトルは比較の対象から外します。
            if (filter.Contains(dt1.Columns[colIndex].Caption))
            {
                continue;
            }
            if (!dt1.Rows[rowIndex][colIndex].Equals(
                dt2.Rows[rowIndex][colIndex]))
            {
                return false;
            }
        }
    }
    return true;
}

      



Effective C# 4.0
ビル・ワグナー
¥ 3,780



Copyright (C) 2011 - 2017 猫の気ままなC#日記