Trouver le dernier index d'un tableau
Comment récupérer le dernier élément d'un tableau en C#?
- vous êtes à la recherche pour savoir comment récupérer la valeur stockée dans le dernier spot de la matrice, ou la valeur réelle de l'indice?
- je veux dire la valeur de l'indice, qui est, a commencé à partir de 0 à n
Vous devez vous connecter pour publier un commentaire.
Le tableau a une
Length
propriété qui va vous donner la longueur de la matrice. Depuis le tableau des indices sont basés sur zéro, le dernier élément sera àLength - 1
.Lors de la déclaration d'un tableau en C#, le numéro que vous donnez est la longueur du tableau:
(items.Length - 1) == -1
LINQ fournit Last():
C'est pratique si vous ne voulez pas faire une variable inutilement.
slice(-2)
pour obtenir 2 ouslice(0,-2)
pour obtenir les articles depuis le début, sauf les 2 derniers? Ensuite, une fonction comme la Dernière ne serait pas nécessaire, comme on pourrait tout faireslice(-1)
comme j'ai l'habitude de le faire dans d'autres langues.Utilisation Tableau.GetUpperBound(0). Tableau.Longueur contient le nombre d'éléments dans le tableau, donc, la lecture de Longueur -1 fonctionne uniquement sur l'hypothèse que le tableau est en partant de zéro.
int
. Il ne peut pas retourner ce qu'attend l'utilisateur pour d'autres tableaux numériques, et pas pour tous les non-numériques, des tableaux. C'est pourquoi ce n'est pas voté 3 dernières.Pour calculer l'indice du dernier élément:
Vous obtiendrez -1 si le tableau est vide, vous devez le traiter comme un cas spécial.
Pour accéder à la dernière index:
ou
provoquera une exception si le tableau est en fait vide (de Longueur 0).
Avec C# 8:
dire que votre tableau est appelé arr
ne
Est-ce la peine de mentionner?
Le suivant renvoie la valeur NULL si le tableau est vide, sinon le dernier élément.
var item = (arr.Length == 0) ?? arr[arr.Length - 1]
.error CS0019: Operator '??' cannot be applied to operands of type 'bool' and 'int'