On oublie trop souvent que Linq n'est pas fait juste pour faire du Linq... Non non non! Linq est un outil, et dans ce cadre il s'intègre parfaitement à .net. Tout comme on utilise Linq dans C#, on peut utiliser C# dans Linq! Là vous commencer à vous demander si je n'ai pas commancer à divaguer... non (même si ça m'arrive souvent) je veux juste dire qu'il n'est pas utile quand on emploi Linq de réinventer le roue : Pour faire de multiples tests on utilise là même syntaxe qu'un [if], pour mettre en forme uns String, on a accès à la classe String.
Par exemple:
private class Personne
{
public String Nom { get; set; }
public String Prenom { get; set; }
}
Personne[] personnes = new Personne[]{
new Personne(){Nom="Duc","Donald"},
new Personne(){Nom="Emard","Jean"},
new Personne(){Nom="Capt","Hadock"}
};
var req = from p in personnes
where p.Nom[0] == 'D' || p.Prenom.Length >= 4
select p.Prenom.Substring(0, 4);
On peut aussi imaginer des calculs:
var req = from p in personnes
select new { NomLenght = p.Nom.Length, FirstChar = p.Prenom[0] };
Rien de très compliqué tout cela. Alors pourquoi se priver :)
Bon code à tous.