string
を返す必要がある場合、これはDataRowのNULLをチェックする正しい方法であると教えてください
Convert.ToString(row["Int64_id"] ?? "")
または、DBNull.Valueで確認するようにしてください。
よりずっと小さくする必要がある
if(row["Int64_id"] != DBNull.Value){...}else if{}
DataRow.IsNull(string columnName) を使用して、データ列がnullでないことを確認します
if (!row.IsNull("Int64_id"))
{
// here you can use it safety
long someValue = (long)row["Int64_id"];
}
このような状況に役立つ拡張クラスを作成しました。
public static class DataRowExtensions
{
public static T FieldOrDefault<T>(this DataRow row, string columnName)
{
return row.IsNull(columnName) ? default(T) : row.Field<T>(columnName);
}
}
使用できるのは次のとおりです。
int id = dataRow.FieldOrDefault<int>("Id");