Quelle est la méthode sûre pour accéder à un élément de tableau, sans lancer IndexOutOfRangeException
, quelque chose comme TryParse
, TryRead
, en utilisant des méthodes d'extension ou LINQ?Elément sûr de l'accès au tableau
2
A
Répondre
7
Vous pouvez utiliser la méthode d'extension suivante.
public static bool TryGetElement<T>(this T[] array, int index, out T element) {
if (index < array.Length) {
element = array[index];
return true;
}
element = default(T);
return false;
}
Exemple:
int[] array = GetSomeArray();
int value;
if (array.TryGetElement(5, out value)) {
...
}
0
Si vous voulez faire une boucle à travers les éléments du tableau en toute sécurité, il suffit d'utiliser un recenseur:
foreach (int item in theArray) {
// use the item variable to access the element
}
+0
Non, je lis l'argument de la ligne de commande et dois assurer l'existence de l'argument suivant sans lancer d'exception (sans sortie de boucle) – abatishchev
Questions connexes
- 1. Listbox Elément sélectionné Vérification
- 2. Attribuer un tableau de pointeurs au tableau
- 3. Elément div modifiable
- 4. Elément triable Jquery
- 5. Sharepoint: Récepteur d'événement: Elément Ajout
- 6. Xml Elément avec espace de nom
- 7. Elément de chemin du problème Silverlight
- 8. Onglet Elément de travail TFS Visibilité
- 9. SÛR type et NHibernate
- 10. Elément de masquage automatique jQuery après 5 secondes
- 11. Plugin similaire au tableau de bord
- 12. Accès au tableau d'interopérabilité MC++
- 13. C# Linq XML Rechercher Elément spécifié
- 14. Emailing sûr du logiciel
- 15. Elément ancêtre de style d'entrée de formulaire: focus (jQuery)
- 16. Tableau Java: accès direct au composant dans le tableau
- 17. Est-il sûr de refuser l'accès au fichier .ini dans .htaccess?
- 18. Le moyen le plus sûr de s'assurer qu'un bouton HTML n'envoie aucune information au serveur
- 19. CSS Hover + Elément s'écraser dans webkit (Chrome, Safari)
- 20. Comment ajouter programmation portlet au tableau de bord JBoss Portal
- 21. IE7 Elément absolu apparaissant derrière un élément relatif
- 22. comment affecter des valeurs au tableau
- 23. Comment ajouter tr au début du tableau
- 24. Comment ajouter un élément au tableau C++?
- 25. Ajouter des chaînes au tableau PHP
- 26. Violation d'accès au tableau dynamique C++
- 27. Ajouter un élément au tableau PHP
- 28. Manière élégante d'ajouter métainformation au tableau de char
- 29. C++ avertissement GCC4.4: souscript de tableau est au-dessus des limites du tableau
- 30. se joindre à 2 colonnes de tableau 1 au tableau 2
Vous devez changer array [i] pour tableau [ indice]. Aussi, je pense que votre logique est à l'envers. Si array.Length <= index, alors essayer d'accéder à array [index] va lancer une exception. –
@Jim, c'est ce que je reçois pour poster avant que mon café soit fini. Correction des fautes de frappe – JaredPar
Peut aussi vouloir vérifier que l'index> = 0. –