DotnetDojo

Développer des applications modernes avec les technologies Microsoft et Open source

  • Blog
  • Vidéos
  • Formations
  • Outils

Mieux coder avec l’opérateur « as »

Très souvent, en C#, il doit vous arriver d’écrire ce type de code :

[csharp] if (user is AdminUser)
{
var admin = (AdminUser)user;
// …
}
[/csharp]

Le problème avec ce type de code est qu’il faut vérifier le type de « user » deux fois :

  • La première fois avec l’opérateur is,
  • La seconde fois lors que cast.

Pour rendre votre code plus performant et plus lisible, vous pourriez utiliser l’opérateur as à la place. Voici le code équivalent :

[csharp] var admin = user as AdminUser;

if (admin != null)
{
// …
}
[/csharp]

L’opérateur as permet de faire un cast sans déclencher d’exception. Si le cast n’est pas possible, il retournera null.

A vous d’essayer !

Vous l’aurez compris, l’opérateur as peut être utilisé sans modération !

[ninja-inline id=3695]

Besoin de résultats rapides ?

Découvrez les formations vidéos que je propose :

  

 

Formations en présentiel (dans toute la France)

Découvrez également les formations C# et .NET que je donne en présentiel (en France)

Comments

  1. Philippe says

    26 janvier 2013 at 12 h 27 min

    C’est en effet une très bonne pratique d’utiliser as.

    Juste une ajout peut être, l’opérateur « as » ne fonctionne qu’avec des types références ou « nullable ».

    Donc si on veut tester si une variable est d’un type valeur (int par exemple) on est obligé d’utiliser « is ».

A propos de DotnetDojo

Pascal Lacroix

Je m’appelle Pascal et je suis passionné par le développement logiciel, l’efficacité et l’entrepreneuriat. Sur DotnetDojo, je vous propose des méthodes pour apprendre à développer des applications modernes avec les technologies Microsoft et Open Source.

En savoir plus

Liens complémentaires

  • A propos de DotnetDojo
  • 18 principes pour professionnaliser le développement logiciel
  • Boite à outils du développeur
  • Tous les articles
  • Liste des formations
  • Contact

Copyright 2019 Jupiteo · Mentions légales · Contact · CGV · Offres d'emploi .NET · Formations Dotnet