NameValueCollection
usingから安全に値を取得できますNameValueCollection.Get()
。キーが存在しない場合は null が返されます。
ただし、何度も値を読み込もうとしますがDataColumn
、残念ながらdr["BadColumn"]
例外がスローされます。
チェックメソッドを作成するよりも簡単な方法はありますか?
NameValueCollection
usingから安全に値を取得できますNameValueCollection.Get()
。キーが存在しない場合は null が返されます。
ただし、何度も値を読み込もうとしますがDataColumn
、残念ながらdr["BadColumn"]
例外がスローされます。
チェックメソッドを作成するよりも簡単な方法はありますか?
@TimSchmelterの提案に従ってください。必要に応じて、DataRowの拡張メソッドでそのチェックを実行し、nullではなく他の値が必要なシナリオの代替デフォルトを指定することもできます。
public static Object GetOrDefault(this DataRow dr, String columnName, String defaultValue = null)
{
if (dr.Table.Columns.Contains(columnName)) return dr[columnName];
return defaultValue;
}