.NET, Architecture, ALM, Cloud

Publicité

Utilisation de l'opérateur ?? en C# 2.0

L'opérateur "??" en C# 2.0 (et avec aussi C# 3.0 bien sûr) vous permet de retourner l'opérande de gauche si celui-ci n'est pas nul ou dans le cas contraire l'opérance de droite.

Prenons pour exemple le bout de code suivant :

Order order = orders.Find(delegate(Order currentOrder)
  {
    return
currentOrder.OrderID == 42;
  });

if (order == null
)
  order = new Order
();

Trade trade = new Trade
(order);

Avec l'opérateur "??", notre code deviendrai :

Order
order = orders.Find(delegate(Order
currentOrder)
  {
    return
currentOrder.OrderID == 42;
  }) ?? new Order
();

Trade trade = new Trade
(order);

L'opérateur "??" ne marche qu'avec les types nullables. Le code suivant ne pourra donc pas compiler :

decimal a = order.GetTotalAmount() ?? decimal.MinValue ;

Nous verrons dans un prochain post comment rendre nullable ces types. A noter aussi que le Find() peut être simplifié en C# 3.0, sujet qui fera l'objet aussi d'un prochain message (voir même plusieurs...).

Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article