2010-01-18 7 views
0

Je dois fournir une clause null où where n'a aucun effet.Identity Filter Linq .Where

Actuellement, j'ai:

f=>{f!=null;} 

Cependant, cela ne regarde pas vraiment droit. Si je devais sélectionner des clients, j'utiliser avec mon filtre

.Select(clients => clients) 

Je reçois aussi un avertissement sur tous les chemins de code retourner un résultat.

Répondre

4

juste retour true:

foo.Where(f => true) 

Votre expression lambda ne fonctionne pas pour trois raisons:

  • Vous essayez d'utiliser f != null comme une déclaration, qu'il n'est pas.
  • Vous n'avez pas de valeur de retour.
  • Il rejetterait les valeurs nulles.

Les deux premiers peuvent être fixés en retirant les accolades: (! F => f = null)

foo.Where

Le dernier point signifie qu'il est pas vraiment un filtre no-op, c'est ce que je veux dire par "filtre d'identité". Que ce soit ce que vous voulez vraiment ou pas, je ne peux pas le dire.

+0

Jon a eu les accessoires ici parce que sans op était la phrase que je cherchais, mais venant d'un arrière-plan de mathématiques, l'identité se trouve dans mon cerveau. J'ai enlevé les accolades vous êtes là, mais le simple retour vrai est ce que je cherchais. – DavidA