1. ホーム
  2. c#

[解決済み] データテーブルにカラムが存在するかどうかを確認する方法

2022-10-26 11:49:15

質問

csvファイルの内容で生成されたデータテーブルを持っています。他の情報を使用して、csv の一部の列 (現在は datatable 内) をユーザーが入力する必要のある情報にマッピングしています。

最良の世界では、マッピングは常に可能でしょう。しかし、これは現実ではありません...。したがって、datatable の列の値をマッピングしようとする前に、その列が存在するかどうかを確認する必要があります。もしこのチェックを行わなければ、ArgumentExceptionが発生します。

もちろん、次のようなコードでこれをチェックすることができます。

try
{
    //try to map here.
}
catch (ArgumentException)
{ }

が、今のところマッピングするカラムは3つで、一部または全部が存在するか欠落している可能性があります。

データテーブルにカラムが存在するかどうかを確認する良い方法はありますか?

どのように解決するのですか?

この場合 operator Contains ,

private void ContainColumn(string columnName, DataTable table)
{
    DataColumnCollection columns = table.Columns;        
    if (columns.Contains(columnName))
    {
       ....
    }
}

MSDN - DataColumnCollection.Contains()