122 votes

C# équivalent de la fonction IsNull() en SQL Server

Dans SQL Server, vous pouvez utiliser l' IsNull() fonction pour vérifier si une valeur est nulle, et si elle l'est, de retour d'une autre valeur. Maintenant je me demande si il n'y a rien de semblable en C#.

Par exemple, je veux faire quelque chose comme:

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

au lieu de:

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

Merci.

223voto

Kent Boogaart Points 97432

Il est appelé le nul de la coalescence (??) opérateur:

myNewValue = myValue ?? new MyValue();

14voto

Robert Rossney Points 43767

Malheureusement, il n'y a pas d'équivalent à la valeur null coalescence opérateur qui travaille avec DBNull; pour cela, vous devez utiliser l'opérateur ternaire:

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

4voto

serializer Points 319

Utiliser la méthode Equals:

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

1voto

Jonathan Allen Points 23540

Pour travailler avec DB les valeurs Null, j'ai créé un groupe pour mes applications VB. Je les appelle Cxxx2 car ils sont similaires à VB intégré dans Cxxx fonctions.

Vous pouvez les voir dans mon CLR Extensions projet

http://www.codeplex.com/ClrExtensions/SourceControl/FileView.aspx?itemId=363867&changeSetId=17967

-10voto

FlySwat Points 61945

Ceci est destiné à moitié comme une blague, puisque la question est un peu stupide.

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

C'est une méthode d'extension, mais il s'étend Système.Objet, de sorte que chaque objet que vous utilisez maintenant un IsNull() la méthode.

Ensuite, vous pouvez enregistrer des tonnes de code par:

if (foo.IsNull())

au lieu de la super boiteux:

if (foo == null)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X