web-dev-qa-db-fra.com

Taille du tableau (longueur) en C #

Comment déterminer la taille d'un tableau (longueur/nombre d'éléments) en C #?

83
Amal

Si c'est un tableau à une dimension a,

a.Length

donnera le nombre d'éléments de a.

Si b est un tableau multidimensionnel rectangulaire (par exemple, int[,] b = new int[3, 5];)

b.Rank

donnera le nombre de dimensions (2) et

b.GetLength(dimensionIndex)

obtiendra la longueur de toute dimension donnée (indexation basée sur 0 pour les dimensions - donc b.GetLength(0) vaut 3 et b.GetLength(1) vaut 5).

Voir documentation System.Array pour plus d'informations.

Comme @Lucero le fait remarquer dans les commentaires, il existe un concept de "tableau dentelé", qui n'est en réalité qu'un tableau à une dimension de tableaux (typiquement à une dimension).

Par exemple, on pourrait avoir ce qui suit:

int[][] c = new int[3][];
c[0] = new int[] {1, 2, 3};
c[1] = new int[] {3, 14};
c[2] = new int[] {1, 1, 2, 3, 5, 8, 13};

Notez que les 3 membres de c ont tous des longueurs différentes. Dans ce cas, comme auparavant, c.Length Indiquera le nombre d'éléments de c, (3) et de c[0].Length, c[1].Length Et c[2].Length seront respectivement 3, 2 et 7.

136
Blair Conrad

Vous pouvez consulter le documentation pour Array pour trouver la réponse à cette question.

Dans ce cas particulier, vous avez probablement besoin de Length :

int sizeOfArray = array.Length;

Mais comme il s’agit d’une question aussi fondamentale et que vous en avez sans doute beaucoup plus, plutôt que de simplement vous dire la réponse, je préférerais vous dire comment trouver la réponse vous-même.

Visual Studio Intellisense

Lorsque vous tapez le nom d’une variable et appuyez sur la touche . _ touche vous affiche une liste de toutes les méthodes, propriétés, événements, etc. disponibles sur cet objet. Lorsque vous mettez un membre en surbrillance, il vous donne une brève description de ce qu’il fait.

Appuyez sur F1

Si vous trouvez une méthode ou une propriété qui pourrait faire ce que vous voulez mais que vous n’êtes pas sûr, vous pouvez déplacer le curseur dessus et appuyer sur F1 pour obtenir de l’aide. Ici, vous obtenez une description beaucoup plus détaillée ainsi que des liens vers des informations connexes.

Rechercher

Les termes de recherche size of array in C# donne de nombreux liens qui vous indiquent la réponse à votre question et bien d’autres choses encore. L'une des compétences les plus importantes qu'un programmeur doit apprendre est la recherche d'informations. Il est souvent plus rapide de trouver la réponse vous-même, surtout si la même question a déjà été posée.

Utiliser un tutoriel

Si vous commencez tout juste à apprendre le C #, il vous sera plus facile de suivre un tutoriel. Je peux recommander le tutoriels C # sur MSDN. Si vous voulez un livre, je recommanderais Essential C # .

Débordement de pile

Si vous ne trouvez pas la réponse vous-même, n'hésitez pas à poster la question sur Stack Overflow. Mais nous vous en remercions si vous montrez que vous avez pris l'effort de trouver la réponse vous-même en premier.

28
Mark Byers

pour un tableau à 1 dimension

int[] listItems = new int[] {2,4,8};
int length = listItems.Length;

pour tableau multidimensionnel

int length = listItems.Rank;

Pour obtenir la taille d'une dimension

int length =  listItems.GetLength(0);
14
Johnny

Avec la propriété Length.

int[] foo = new int[10];
int n = foo.Length; // n == 10
8
Joren

yourArray.Length :)

7
Petar Minchev

Pour un tableau de dimension unique, vous utilisez la propriété Length:

int size = theArray.Length;

Pour les tableaux à plusieurs dimensions, la propriété Length renvoie le nombre total d'éléments dans le tableau. Vous pouvez utiliser la méthode GetLength pour obtenir la taille d'une des dimensions:

int size0 = theArray.GetLength(0);
5
Guffa

Dans la plupart des cas généraux, on utilise "Longueur" et "Nombre".

Tableau:

int[] myArray = new int[size];
int noOfElements = myArray.Length;

Tableau de liste typé:

List <int> myArray = new List<int>();
int noOfElements = myArray.Count;
3
KbManu

ça va comme ça: 1D:

 type[] name=new type[size]  //or =new type[]{.....elements...}

2D:

 type[][]name=new type[size][] //second brackets are emtpy

alors que vous utilisez ce tableau:

 name[i]=new type[size_of_sec.Dim]

ou Vous pouvez déclarer quelque chose comme une matrice

type[ , ] name=new type [size1,size2]
1
Sara Ste.