Как и в других состояниях ответов, null
означает ссылку, которая не ссылается на объект, в то время как DBNull
является классом, предоставленным ADO.NET для , указывающим , когда поле или значение равно NULL в базе данных.(или в DataTable).
Хотя вы можете использовать условный (троичный) оператор (?:) , чтобы делать то, что вы хотите:
AlternatePhoneNumber = customer.AlternatePhoneNumber is DBNull
? ""
: customer.AlternatePhoneNumber;
Я склоненчтобы обернуть это в метод расширения :
static class NullExtensions
{
public static T WhenNull<T>( this object value, T whenNullValue )
{
return (value == null || value is DBNull)
? whenNullValue
: (T)value;
}
}
, который, как мне кажется, облегчает чтение и понимание кода.
AlternatePhoneNumber = customer.AlternatePhoneNumber.WhenNull( "" );