Question

Il semble qu'il ya deux façons de construire des requêtes - soit en utilisant des expressions de requête:

IEnumerable<Customer> result =
                        from customer in customers
                        where customer.FirstName == "Donna"
                        select customer;

ou en utilisant les méthodes d'extension:

IEnumerable<Customer> result =
           customers.Where(customer => customer.FirstName == "Donna");

Quel utilisez-vous et pourquoi? Qui pensez-vous sera plus populaire dans le long terme?

Était-ce utile?

La solution

Seul un nombre limité d'opérations sont disponibles dans la syntaxe d'expression, par exemple, prendre () ou First () ne sont disponibles en utilisant des méthodes d'extension.

Personnellement, je préfère l'expression si toutes les opérations nécessaires sont disponibles, sinon je revenir à des méthodes d'extension que je les trouve plus facile à lire que lambdas.

jeter un oeil à cette réponse,

Linq Méthodes d'extension vs syntaxe LINQ

Autres conseils

J'utilise la syntaxe de la méthode (presque) exclusivement, parce que la syntaxe de requête a plus de limitations. Pour des raisons de maintenabilité, je trouve qu'il est préférable d'utiliser la syntaxe de la méthode tout de suite, plutôt que de convertir peut-être plus tard, ou en utilisant un mélange des deux syntaxes.

Il est peut-être un peu plus difficile à lire au début, mais

une fois que vous y habituer, il fonctionne assez naturel.

Je n'utilise que la syntaxe de la méthode. Ceci est parce que je trouve beaucoup plus rapide à écrire, et j'écris une tonne de LINQ. Je l'aime aussi parce qu'il est plus laconique. Si vous travaillez sur une équipe, le mieux est de venir à un concensus sur ce qui est le style préféré, comme le mélange des deux styles est difficile à lire.

Microsoft recommande la syntaxe de requête. « En général, nous recommandons la syntaxe de requête, car il est généralement plus simple et plus lisible ». http://msdn.microsoft.com/en-us/library/bb397947. aspx

Cela dépend de vous et votre équipe trouvent plus lisible, et je choisirais ce cas par cas. Il y a des questions qui lisent mieux sous forme de syntaxe et il y a certains qui lisent mieux sous forme de méthode. Et bien sûr, il y a ce vaste terrain d'entente où vous ne pouvez pas dire d'une façon ou l'autre, ou certains préfèrent cette façon et d'autres de cette façon.

Gardez à l'esprit que vous pouvez mélanger les deux formes ensemble où il pourrait le rendre plus lisible.

Je ne vois aucune raison de penser que ce soit sous forme disparaitra à l'avenir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top