web-dev-qa-db-fra.com

Trouver le dernier index d'un tableau

Comment récupérer le dernier élément d'un tableau en C #?

33
MAC

Le tableau a une propriété Length qui vous donnera la longueur du tableau. Comme les indices du tableau sont basés sur zéro, le dernier élément sera à Length - 1.

string[] items = GetAllItems();
string lastItem = items[items.Length - 1];
int arrayLength = array.Length;

Lorsque vous déclarez un tableau en C #, le nombre que vous donnez est la longueur du tableau:

string[] items = new string[5]; // five items, index ranging from 0 to 4.
44
Fredrik Mörk

LINQ fournit Last () :

csharp> int[] nums = {1,2,3,4,5};
csharp> nums.Last();              
5

C'est pratique lorsque vous ne voulez pas créer une variable inutilement.

string lastName = "Abraham Lincoln".Split().Last();
92
dribnet

Utilisez Array.GetUpperBound (0) . Array.Length contient le nombre d'éléments du tableau. Par conséquent, la lecture de Longueur -1 ne fonctionne que si le tableau est à zéro.

6
sisve

Pour calculer l'index du dernier élément:

int index = array.Length - 1;

Vous obtiendrez -1 si le tableau est vide - vous devriez le traiter comme un cas spécial.

Pour accéder au dernier index:

array[array.Length - 1] = ...

ou

... = array[array.Length - 1]

provoquera une exception si le tableau est réellement vide (longueur égale à 0).

4
sharptooth

dites que votre tableau s'appelle arr

faire 

arr[arr.Length - 1]
2
Cambium

Avec C # 8 :

int[] array = { 1, 3, 5 };
var lastItem = array[^1]; // 5
1
Matthew Steven Monkan

Ce qui suit est torretant des tableaux vides et retournera NULL si le tableau est vide, sinon le dernier élément.

var item = (arr.Length == 0) ? null : arr[arr.Length - 1]
0
Nippysaurus

Est-ce que cela vaut la peine d'être mentionné?

var item = new Stack(arr).Pop();
0
Imad