2014-05-23 1 views
0

Dire que j'ai une collection que je veux filtrer ...Syntaxe .Net - que fait "=>" lors du filtrage de texte dans une collection?

var users = groupInner.GetMembers(true).Where(user => user.Name.ToUpper().StartsWith("D0") == false && 
    user.Name.ToUpper().StartsWith("D1") == false && 
    user.Name.ToUpper().StartsWith("D2") == false && 
    user.Name.ToUpper().StartsWith("D3") == false && 
    user.Name.ToUpper().StartsWith("D4") == false).ToList(); 

Lors du filtrage avec la clause where sur le texte, je ne peux obtenir la déclaration de travailler avec =>. == ne semble pas fonctionner. Je l'ai testé, le code ci-dessus me donne ma bonne réponse, mais juste pour comprendre et pour savoir si je devrais utiliser quelque chose de plus approprié que ce que j'ai déjà ... que veut dire => en comparant le texte et y at-il quelque chose que je devrait utiliser à la place?

+1

Cela crée une [expression lambda] (http://msdn.microsoft.com/en-us/library/bb397687.aspx) –

+0

[Tout à propos des expressions Lambda] (http://msdn.microsoft.com /en-us/library/bb397687.aspx) – ElGavilan

+0

Merci, je l'apprécie. –

Répondre

2

C'est la syntaxe pour indiquer une expression lambda. C'est ce qu'on appelle "l'opérateur lambda". Voir:

http://msdn.microsoft.com/en-us/library/bb397687.aspx

Pour créer une expression lambda, vous spécifiez les paramètres d'entrée (le cas échéant) sur le côté gauche de l'opérateur lambda =>, et vous mettez l'expression ou bloc d'instructions de l'autre côté .