web 2.0

L'Opérateur ?? en C#

Hello

Ajourd'hui un petit rappel en matière de language C#. En effet nous allons voir ici l'opérateur ?? qui est disponible depuis la version 2.0 du Framwork .NET.
Cet opérateur va nous permettre de considérablement réduire la longueur de nos lignes en C# qui ont souvent pas facheuses habitudes de devenir très longues :)

Auparravant nous étions obligés d'effectuer ce test de la manière suivante



Ce temps est maintenant révolu !

Voici donc quelques exemples d'applications de cet opérateur

            String input = "Bonjour a tous sur le Blog SB2!"; 
            String result = null; 
            if (input == null) 
            { 
                result = "Input est Null!"; 
            } 
            else 
            { 
                result = input; 
            } 

Dans cet exemple input a une valeur non nulle, donc le résultat de l'opération ?? est la valeur de input.

String input = "Bonjour a tous sur le Blog SB2!"; 
String result = input ?? "Input est Null!"; 
// Résultat du test : result == "Bonjour a tous sur le Blog SB2!" 



Dans cet exemple input a une valeur nulle, donc le résultat de l'opération ?? est "Input est Null!".

String input = null; 
String result = input ?? "Input est Null!"; 
// Résultat du test : result == "Input est Null!" 



Ce principe fonctionne également avec d'autres types d'objets, par exemple si dessous un objet de type DateTime.

DateTime? inputDate = DateTime.Parse("01/01/2008"); 
DateTime? resultDate = inputDate ?? DateTime.Now; 
// Résultat du test : result == 01/01/2008 
DateTime? inputDate = null; 
DateTime? resultDate = inputDate ?? DateTime.Now; 
// Résultat du test : result == Current Time 



Et voila pratique n'est-ce pas?

Si vous voulez avoir des exemples d'utilisation de cet opérateur avec Linq je vous invite a consulter cet article de Scott Gu's dans lequel il explique très bien cette utilisation (en anglais).

A Bientot !



Views(492)

kick it on DotNetKicks.com

Share/Save/Bookmark Subscribe

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

C#

Comments

Add comment


 

biuquote
Loading



Technorati Profile