LINQ l'Élément Suivant dans la Liste
De prendre un coup d'oeil à ma question ICI, je veux maintenant revenir le lendemain recommandation objet (après) celle qui correspond aux critères.
Donc dire que j'ai trouvé l'article 6 sur 10, j'aimerais que la requête pour retourner des articles 7 à la place.
Ou est-il un meilleur moyen?
OriginalL'auteur griegs | 2010-04-21
Vous devez vous connecter pour publier un commentaire.
Puisque vous avez un
List<T>
objet que vous pouvez utiliser sesFindIndex
méthode au lieu deWhere
pour obtenir l'index du premier élément correspondant, plutôt que l'article lui-même:Une fois que vous avez l'index, vous pouvez obtenir l'élément suivant ou précédent article ou ce que vous voulez.
OriginalL'auteur EMP
Voici ma meilleure méthode:
Une précédente réponse utilise
Skip(1).Take(1)
qui fonctionne, mais renvoie une liste de résultats. Dans mon cas (et peut-être le cas des OP cas), nous sommes à la recherche de l'élément réel. Donc mon code passe jusqu'à ce qu'il arrive à la personne que nous cherchons (Où serait de retour d'un sous-ensemble si nous n'aurions pas accès à l'élément suivant) puis saute un de plus et devient alors l'élément.OriginalL'auteur Jeremy Foster
Comment quelque chose comme cela:
Vous pouvez l'appeler comme vous le feriez pour Où
OriginalL'auteur Jim Johnson
Essayer celui-ci
Élément SUIVANT
Élément PRÉCÉDENT remarque:Reverse() ne fonctionnera pas pour LINQ to SQL
Reverse
n'est pas mis en œuvre dans SQL Server.msdn.microsoft.com/en-us/library/bb358497(v=vs. 110).aspx Il est LINQ et l'Inverse est ici
Oui, c'est LINQ API, mais si c'est LINQ to SQL (Serveur), il va jeter erreur, car il n'y a pas d'équivalence en SQL.
Oui! vous avez raison, il lèvera une erreur en cas de LINQ to SQL.mais je ne pense pas que nous parlons ici de LINQ to SQL. Permettez-moi de modifier ma réponse afin que les gens doivent savoir à ce sujet.
OriginalL'auteur Abdul Saboor
Ce devrait le faire. Je n'ai pas construit un test pour elle en particulier.
Si vous avez besoin de deux dossiers, l'instruction select peut être
Mais alors que vous auriez à faire un groupement pour tenir compte d'un élément correspondant étant le dernier élément de la liste (il n'y aurait pas un élément suivant dans ce cas).
Le code que j'ai ne test a été quelque chose de similaire avec une liste de chaînes de caractères.
Qui renvoie b, d et e.
OriginalL'auteur Anthony Pegram
Est l'article 7 qui correspond à vos clause where? Si oui, utiliser la
Skip()
etTake()
les méthodes d'extension:c'est correct. Je veux trouver l'élément correspondant et ensuite de retour à l'élément suivant dans la liste.
OriginalL'auteur spoulson