Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

LINQ à toutes les sauces !

Je suis en train de boucler mon article de présentation de LINQ. Au départ je pensais m'en sortir en une dizaine de pages, mais j'en suis à plus du double... juste pour faire le tour des principales possibilités et sans détailler la syntaxe (ce n'est pas le but de cet article).

J'ai eu maintes fois l'occasion de vous dire ici que LINQ est l'innovation la plus fantastique que j'ai vue depuis longtemps dans un langage. Vous en saurez plus en lisant le prochain article qui sera en ligne ce week-end, mais pour vous prouver que LINQ peut servir partout et tout le temps voici deux exemples à contre-courant de l'idée qu'on se fait des utilisations possibles de LINQ :

Cas 1 : Lister les services actifs de Windows.

C'est bête mais balayer et filtrer une simple liste comme celle là (et de bien d'autres du même genre retournées par le framework .NET ou par vos applications), c'est produire du code pas très marrant... Avec LINQ ça devient :

using System.ServiceProcess; 
var srv = from s in ServiceController.GetServices()
         where s.Status == ServiceControllerStatus.Running
         select s.DisplayName;
ListBox1.DataSource = srv.ToList();

 
Je trouve ça élégant, pas vous ?

Cas 2 : Remettre à unchecked tous les Checkbox d'une form

Balayer certains contrôles d'une fiche n'est là non plus pas l'endroit où l'on s'attend à trouver du LINQ... Et pourtant ! Imaginons une fiche de saisie avec des tas de checkbox et un bouton "raz" de remise à zéro de la fiche. Balayer tous les contrôles de la fiche pour ne sélectionner que les checkbox n'est pas un code bien complexe mais avec LINQ ça devient tellement plus chouette !

var cb = (from Control c in this.Controls select c).OfType<CheckBox>();
foreach (var c in cb) c.Checked=false;
 

C'est pas plus joli et plus clair écrit comme ça ? (et encore on pourrait se passer de la variable "cb" et intégrer directement la requête LINQ après le "in" du "foreach")?

Bref, LINQ j'adore. Et j'espère bien que le papier à venir va vous transformez en fans vous aussi ! alors... Stay tuned !

Les nouveautés syntaxiques de C# 3.0

Les expressions Lambda vous connaissez ?

Et l'inférence des types locaux, les méthodes d'extension, les expressions d'initialisation des objets ou les types anonymes ?

Si tout cela sonne bizarrement à vos oreilles, n'hésitez plus une seconde : téléchargez le nouvel article que j'ai mis en ligne gratuitement !

Voici le lien, il n'y a qu'à cliquer ici !

Vous êtes encore là ?

... Alors ne loupez pas le tout dernier article "Présentation de LINQ avec C#", un papier de 32 pages riche en exemples !

Le journal des TechEd : Jour 2

Deuxième jour des TechEd.

Le programme est toujours aussi passionnant, Barcelone est toujours aussi belle...

Côté sessions, si lundi était un casse-tête, mardi ne fait que poser des cas de conscience ! Tout est intéressant :
Les nouveautés de SQL server 2008, la conception d'applications sécurisées avec WPF, leframework 3.5 de A à Z, design d'applications riches avec WPF, LINQ to sql, les transactions distribuées (voir mon papier sur le ce sujet dans les articles à télécharger), Silverlight 1.1, la sécurité du CLR sous framework 3.5, etc, etc...

Côté Barcelone, tout est chouette (sauf ce soir ou demain un match de foot qui visiblement mobilise la ville avec des supporters anglais - les pires - qui envahissent rues et cafés en beuglant de moins en moins juste et de plus en fort au rythme de leur alcoolémie croissante...).

Un petit tour au Marcat de la Boqueria, un magnifique marché (mais cher) où l'on trouve des fruits de tous horizons, du poisson bien frais, de la charcuterie espagnole délicieuse et du bon vin... Tout ce qu'ill faut pour faire un bon repas avec des amis !

Demain est un autre jour, mais on sait déjà qu'il se terminera en beauté puisque vers 19h30 commence une petite soirée sympa entre français organisée par Microsoft pour nous dans un bar qui est parait-il pas mal du tout... Vous en serez plus demain soir (tard), so, stay tuned !

Le journal des TechEd : Jour 1

ça y est ! La ruche bourdonne !

C'est parti pour 5 jours infernaux, des centaines de conférences, des cameramen pour chaque grande session pour préparer le DVD des confs, des partenaires exposants, bref, une grand messe réglée à la Microsoft : ultra pro.

Tout y est, du beau sac garni (voir le billet d'hier) au plan de Barcelone accompagné d'un plan de métro/tram/bus et de deux passes de dix voyages (l'équivalent de deux carnets de métro parisien). Microsoft a pensé à tout pour que ce séjour soit aussi studieux qu'agréable.

 

Tout est prévu pour un accueil sympathique malgré la foule, espace de repos, espace de travail avec connexion Wifi, distributeurs gratuits de bouteilles (eau, sodas divers), thé et café à tous les étages, pommes, donuts, fruits secs espagnols, toilettes impeccables (vu la foule il faut vraiment le souligner), bref le participant finirait par se prendre pour un GM au club med..

J'utilise le conditionnel, car si le GM ne pense qu'à la bronzette et à la détente, le participant aux TechEd lui, pense boulot ! Parmi toutes les conférences difficile de faire son choix, on voudrait toutes les voir !

Heureusement, Microsoft a la aussi pensé à tout puisque, comme je le disais, tout (ou presque) est filmé. D'abord c'est une retransmission en direct à l'extérieur de nombreuses salles: on se promène et on peut voir et écouter ce qui se passe sans entrer... démarche intéressante. Ensuite les vidéos seront disponibles aux participants sur le net, et enfin elles seront gravées sur le DVD envoyés dans 6 semaines. On pourra donc tout voir, ce qui est génial. De fait on peut fonctionner "au coup de coeur", suivre son envie de l'instant en étant presque certain qu'on ne loupe rien. Certaines sessions non enregistrées peuvent être ainsi visitées, même si on leur porte un intérêt moindre car les "breakout sessions" seront elles sur le DVD. Une approche réellement séduisante laissant une plus grande liberté de choix, sans stress d'avoir fait le mauvais.

Les adeptes de la nicotine se retrouvent dehors lors des breaks :

Beaucoup de choses intéressantes donc, les nouveautés de VS 2008, LINQ ou bien le développement avec Silverlight ne sont qu'une petite partie des thèmes abordés. Que des bonnes choses à venir...

Impossible bien entendu de faire le rapport détaillé des conférences , et puis cela ne serait pas loyal pou ceux qui ont fait le voyage jusqu'ici, je vous le dit depuis le début : il fallait venir ! Durant ces quelques jours je vais tenir un journal des techEd, je dirais même "mon petit journal égoïste des TechEd". Pour les grands papiers techniques où UML remplacera Picasso, et où la rigueur du fond tranchera avec la légèreté des courbes des maisons de Gaudi, il faudra attendre mon retour !

Il n'y a pas que les conférences bien entendu, il y a aussi Barcelone, belle le jour, belle la nuit. Picasso, Miro, Gaudi, de pures merveilles à voir et à revoir partout, mais je vous en reparlerai demain..

 

Les sources du framework .NET publiées avec VS 2008 !

Voilà une bonne nouvelle : Microsoft va intégrer les sources du framework 3.5 dans Visual Studio 2008, notamment pour faciliter le debug.

Pas d'erreur toutefois: le framework ne devient pas "open source" pour autant, on a tout juste le droit de regarder les sources et de s'en servir pour debugger une application.

Nul doute aussi que la lecture du code source du framework permettra de mieux le comprendre, de s'inspirer des solutions et patterns utilisées pour sa conception et ainsi d'écrire un code encore plus en harmonie avec cette plateforme.

L'annonce de cette bonne nouvelle a été faite sur le blog de Scott Guthrie qui est General Manager chez MS et qui s'occupe notamment des équipes en charge du développement du CLR, de ASP.NET, de Silverlight, WPF, IIS 7.0, etc, etc. Un Monsieur sérieux et influent dont l'annonce vaut bien engagement et qui permet de prendre cette nouvelle très au sérieux. Les anglophones peuvent bien entendu lire la totalité de l'annonce sur le blog de Scott.

kick it on DotNetKicks.com