valor then not empty diferente c# .net sql-server isnull

then - C#equivalente de la función IsNull() en SQL Server



null expression c# (7)

En SQL Server puede usar la función IsNull() para verificar si un valor es nulo, y si lo es, devolver otro valor. Ahora me pregunto si hay algo similar en C #.

Por ejemplo, quiero hacer algo como:

myNewValue = IsNull(myValue, new MyValue());

en lugar de:

if (myValue == null) myValue = new MyValue(); myNewValue = myValue;

Gracias.


Esto se entiende como una broma, ya que la pregunta es un poco tonto.

public static bool IsNull (this System.Object o) { return (o == null); }

Este es un método de extensión, sin embargo extiende System.Object, por lo que cada objeto que utiliza ahora tiene un método IsNull ().

Entonces puedes guardar toneladas de código haciendo:

if (foo.IsNull())

en lugar del supercoco:

if (foo == null)


Lamentablemente, no existe un equivalente para el operador coalescente nulo que trabaja con DBNull; para eso, necesitas usar el operador ternario:

newValue = (oldValue is DBNull) ? null : oldValue;



Se llama el operador coalescente nulo ( ?? ):

myNewValue = myValue ?? new MyValue();


Use el método Equals:

object value2 = null; Console.WriteLine(object.Equals(value2,null));


Usted escribe dos funciones

//When Expression is Number public static double? isNull(double? Expression, double? Value) { if (Expression ==null) { return Value; } else { return Expression; } } //When Expression is string (Can not send Null value in string Expression public static string isEmpty(string Expression, string Value) { if (Expression == "") { return Value; } else { return Expression; } }

Funcionan muy bien


public static T isNull<T>(this T v1, T defaultValue) { return v1 == null ? defaultValue : v1; } myValue.isNull(new MyValue())