2009-06-29 5 views
0

comment utiliser "And" dans le prédicat dans l'expression de lambda. Je suis en train de réaliser quelque chose comme ce
nouvelle Class1 ("Test", Status => Statut == 18 & & 20)en utilisant Et dans le prédicat pour l'expression lambda

S'il vous plaît répondre

Merci Sharath

+0

Quelle langue est-ce? –

+0

J'utilise C# .net, Framework 3.5 –

Répondre

10

Vous besoin de décomposer votre déclaration conditionnelle en 3 évaluations différentes - vous ne pouvez pas les combiner comme vous avez.

Status => Status == 18 && Status == 19 && Status == 20 

Bien, je devine que vous êtes désireux d'un ou l'opérateur ici, parce que l'état ne peut pas avoir une valeur de 18, 19 et 20. Si vous essayez de faire un masque, vous voulez que le & opérateur, et même alors un bitmask de 18, 19 & 20 n'a pas beaucoup de sens pour moi (mais qui connaît votre cas d'utilisation).

Status => Status == 18 || Status == 19 || Status == 20 
+0

Merci beaucoup cela a fonctionné pour moi. –

+1

@Shatth c'est quand vous cliquez sur 'Accepter' sur @ La réponse de Matt – jeroenh

0

Bonne réponse à ce jour - également envisager .Any

List<int> favNumbers = new List<int>(18, 19, 20); 
Func<int, bool> pred = 
    Status => favNumbers.Any(f => f == Status) ; 
Questions connexes