Utiliser plusieurs clauses Where dans une requête LINQ

This article is available in English.

Pour faire suite à mon précédent article où j'avais besoin d'être capable d'intercepter les exceptions dans une requête, j'ai constaté qu'il est possible de spécifier plusieurs clauses Where dans une requête LINQ.

Voici la requête en question :

var q = from file in Directory.GetFiles(@"C:\Windows\Microsoft.NET\Framework\v2.0.50727", "*.dll")
        let asm = file.TryWith(f => Assembly.LoadFile(f))
        where asm != null
        let types = asm.TryWith(a => a.GetTypes(), (Exception e) => new Type[0])
        where types.Any()
        select new { asm, types };


Cette requête permet de trouver la liste des assemblies pour lesquelles il est possible d'en lister les types. L'intéret de placer plusieurs clause where est de ne pas avoir à évaluer inutilement des morceaux d'une query, si les morceaux précédents permettent de le savoir. Au passage, le TryWith autour du Assembly.GetTypes() est la pour intercepter des exceptions de chargement de types, au cas où des dependances ne seraient pas disponibles au moment de l'énumération.

C'est une petite astuce LINQ à savoir :)
Publié samedi 6 décembre 2008 22:19 par jay
Classé sous , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires


Les 10 derniers blogs postés

- TechDays Paris 2010 : Déploiement de nouvelles technologies – Retour d’expérience par l’informatique de Microsoft par Blog Technique de Romelard Fabrice le il y a 36 minutes

- TechDays Paris 2010 : Plan de migration vers SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 4 heures et 19 minutes

- TechDays Paris 2010 : La pleinière du second jour par Blog Technique de Romelard Fabrice le il y a 5 heures et 24 minutes

- Visual Studio 2010 and .NET Framework 4 Release Candidate now available par Matthieu MEZIL le il y a 8 heures et 30 minutes

- Création d’une base de donnée sous SQL Azure par Le Blog (Vert) d'Arnaud JUND le il y a 9 heures et 26 minutes

- TechDays Paris 2010 : Les Services d’applications dans SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 19 heures et 26 minutes

- TechDays Paris 2010 : La GED et SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 23 heures et 24 minutes

- TechDays Paris 2010 : SharePoint 2010 et Les réseaux sociaux par Blog Technique de Romelard Fabrice le 02-08-2010, 15:40

- TechDays Paris 2010 : SharePoint 2010 – Description et nouveautés par Blog Technique de Romelard Fabrice le 02-08-2010, 14:33

- TechDays Paris 2010 : Pleinière Lundi par Blog Technique de Romelard Fabrice le 02-08-2010, 14:30