Lorsqu'une méthode renvoie IEnumerable<T>
et je n'ai rien à rendre, nous pouvons utiliser Enumerable.Empty<T>()
.
Existe-t-il un équivalent à ce qui précède pour une méthode retournant IQueryable<T>
Lorsqu'une méthode renvoie IEnumerable<T>
et je n'ai rien à rendre, nous pouvons utiliser Enumerable.Empty<T>()
.
Existe-t-il un équivalent à ce qui précède pour une méthode retournant IQueryable<T>
Malheureusement, cela ne crée pas un véritable IQueryable vide, ce qui entraîne, par exemple, les problèmes suivants Union
les requêtes sont divisées en plusieurs requêtes au lieu d'une seule.
@NetMage C'est vrai. Ce qui est plus déroutant, c'est que votre code n'est pas cassé dans la ligne où est Union
mais probablement quand tu essaieras quelque chose après ça. Cette réponse est acceptée et votée mais elle peut être très trompeuse. @Sunny Veuillez modifier votre réponse. La réponse à cette question m'a aidé : Enumerable.Empty<T>().AsQueryable() ; Cette méthode supporte l'infrastructure LINQ to Entities et n'est pas destinée à être utilisée directement depuis votre code. .
Je déconseille la réponse d'alejandrobog, car cela utilisera encore de la mémoire pour créer un tableau vide.
Array.Empty<T>().AsQueryable();
ou
Enumerable.Empty<T>().AsQueryable();
sont préférables. Array.Empty allouera un tableau statique typé, de sorte qu'un seul tableau vide de T soit créé et partagé entre tous les interrogeables Empty.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.