Это назвало пустой оператор (??
) объединения:
myNewValue = myValue ?? new MyValue();
К сожалению, нет никакого эквивалента пустому оператору объединения, который работает с DBNull; для этого необходимо использовать тернарный оператор:
newValue = (oldValue is DBNull) ? null : oldValue;
Поскольку работа с DB Аннулирует, я создал набор для своих приложений VB. Я называю их Cxxx2, поскольку они подобны встроенным функциям Cxxx VB.
Вы видите их в моем проекте
Это предназначено половина как шутка, так как вопрос довольно глуп.
public static bool IsNull (this System.Object o)
{
return (o == null);
}
Это - дополнительный метод, однако он расширяет Систему. Объект, таким образом, каждый объект Вы используете теперь, имеет IsNull () метод.
Тогда можно сохранить тонны кода путем выполнения:
if (foo.IsNull())
вместо супер Ламе:
if (foo == null)
public static T IsNull<T>(this T DefaultValue, T InsteadValue)
{
object obj="kk";
if((object) DefaultValue == DBNull.Value)
{
obj = null;
}
if (obj==null || DefaultValue==null || DefaultValue.ToString()=="")
{
return InsteadValue;
}
else
{
return DefaultValue;
}
}
//This method can work with DBNull and null value. This method is question's answer