Я часто имею дело с DBNull.Value
...
Поэтому я использую этот метод, который возвращает значение объекта или значение по умолчанию для данного типа значения, если значение объекта равно DBNull.Value
.
public static object GetValueOrDefault(object value, Type type)
{
if (value != DBNull.Value)
return value;
if (type.IsValueType == false)
return null;
Array array = Array.CreateInstance(type, 1);
return array.GetValue(0);
}
Использование:
GetValueOrDefault(dataRecord.GetValue(fieldIndex), dataRecord.GetFieldType(fieldIndex)