LINQ... l'un de mes sujets préférés... Plus je l'utilise, à toutes les sauces, et plus je trouve cette technologie indispensable. Mais foin de propagande, voici encore un exemple qui prouve à quel point LINQ peut servir à tout, facilement.
Le but du jeu : récupérer la définition des couleurs de System.Drawing.Color, en faire un tableau trié par ordre alphabétique.
A la "main" je vous souhaite bien du plaisir... Avec LINQ cela donne la chose suivante :
namespace LinqColor
{
class Program
{
static void Main(string[] args)
{
var color_type = typeof(System.Drawing.Color);
var color_properties = from prop in color_type.GetProperties()
where prop.PropertyType == color_type
orderby prop.Name
select prop;
foreach (var color_property in color_properties)
{
var cur_color = (System.Drawing.Color) color_property.GetValue(null, null);
uint rgb_int = (uint) cur_color.ToArgb() & (0x00ffffff);
Console.WriteLine(" {0,-20} = ({1,-3},{2,-3},{3,-3}) = 0x{4:X00000000}",
color_property.Name,
cur_color.R, cur_color.G, cur_color.B,rgb_int);
}
}
}
}
La sortie écran (console) donne la chose suivante :
Le projet VS 2008 pour les fénéants du clavier : LinqColor.zip (5,43 kb)
C'est pas merveilleux LINQ ?
Bien sûr que si... Alors Stay Tuned !