Vous voulez seulement accéder au premier élément d'un objet qui a implémenté IEnumerable, comment faire?Comment accéder au premier élément d'un objet implémenté par IEnumerable
Répondre
Malheureusement, vous ne pouvez pas utiliser les méthodes d'extension LINQ sur quelque chose qui implémente seulement IEnumerable
. Vous pouvez cependant utiliser .Cast<object>()
pour le transformer en IEnumerable<object>
, puis utiliser les méthodes suivantes. Ce qui suit suppose que collection
est de type IEnumerable<T>
pour certains T
:
Pour accéder au premier élément et jeter une exception s'il n'y en a pas:
collection.First()
Pour accéder au premier élément et obtenir la valeur par défaut du type si il n'y a pas:
collection.FirstOrDefault()
valeur par défaut est le type est null
pour les types de référence (types déclarés comme class
, par exemple string
, Stream
, Bitmap
, etc.) et la "valeur zéro" pour les types de valeurs (types déclarés struct
ou enum
, par exemple int
, bool
, DateTime
, etc.).
Pour trouver seulement savoir s'il y a un premier élément du tout:
collection.Any()
Tous les trois d'entre eux peut prendre une expression lambda comme condition, par exemple .First(x => x.Name == "x")
, ce qui équivaut à .Where(x => x.Name == "x").First()
.
utiliser la méthode FirstOrDefault
using System.Linq;
int[] numbers = { };
int first = numbers.FirstOrDefault();
- 1. Comment puis-je accéder au premier résultat?
- 2. Comment lier au premier élément d'une ArrayCollection?
- 3. Comment accéder au sous-élément ListView par clé?
- 4. Dictionnaire ActionScript: Comment accéder au premier élément? Comment est-il stocké?
- 5. PHP - écrit au premier élément d'un tableau
- 6. Accéder au modèle objet Firefox
- 7. C# IEnumerable Récupérer le premier enregistrement
- 8. Suppression d'un objet de IEnumerable
- 9. accéder au parent d'un objet
- 10. Comment accéder à chaque élément renvoyé par le sélecteur premier enfant
- 11. Comment accéder à l'index dans l'objet IEnumerable en C#?
- 12. Comment accéder au ItemPanel par programme?
- 13. Comment trouver le premier élément masqué par JQuery
- 14. Comment obtenir premier élément par XPath dans Oracle
- 15. Comment sélectionner le premier élément dans un ListView par défaut
- 16. Comment ajouter un élément avant le premier élément?
- 17. Accéder au parent d'un élément avec PHP SimpleXML?
- 18. Comment accéder au nième élément via CSS dans IE6 + 7
- 19. Élément HTML Canvas implémenté dans Flash?
- 20. jQuery Carousel plugin passe au premier élément du clic
- 21. Comment accéder au champ de notes sur un objet GroupPrincipal
- 22. Comment accéder au champ des notes d'un objet dans Maya
- 23. sélecteur Null envoyé au premier élément de NSMutableArray
- 24. Comment accéder au contexte actuel à partir d'une activité qui n'est pas au premier plan?
- 25. Django Templating: comment accéder aux propriétés du premier élément d'une liste
- 26. Comment sélectionner le premier élément H1 dans un TD?
- 27. tri par premier élément de groupe en python
- 28. comment accéder à cet élément
- 29. comment accéder au type anonyme?
- 30. Objet Javascript clé par élément? (jQuery)
Je ne trouve pas ces méthodes. Mon objet n'a implémenté que l'interface IEnumable. – user496949
BTW, j'utilise .NET Framework 3.5 – user496949
pouvez-vous s'il vous plaît montrer une référence pour votre première phrase? ('Malheureusement, vous ne pouvez pas utiliser les méthodes d'extension LINQ sur quelque chose qui implémente uniquement IEnumerable'). J'ai copié mon échantillon de la page MSDN et il utilise juste un tableau d'int ... merci! – Lorenzo