Как определить размер (длина/количество объектов) в массиве в С#?
Размер массива (длина) в С#
Ответ 1
Если это одномерный массив a
,
a.Length
даст количество элементов a
.
Если b
- прямоугольный многомерный массив (например, int[,] b = new int[3, 5];
)
b.Rank
даст число измерений (2) и
b.GetLength(dimensionIndex)
получит длину любого заданного измерения (индексирование по размеру для 0 - так что b.GetLength(0)
равно 3 и b.GetLength(1)
равно 5).
Подробнее см. Документацию System.Array.
Как отмечает @Lucero в комментариях, существует концепция "зубчатого массива", которая на самом деле представляет собой не что иное, как одномерный массив (обычно одномерных) массивов.
Например, можно было бы иметь следующее:
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};
Обратите внимание, что все три члена c
имеют разную длину.
В этом случае, как и раньше, c.Length
будет указывать количество элементов c
, (3) и c[0].Length
, c[1].Length
, а c[2].Length
будет равно 3, 2 и 7 соответственно.
Ответ 2
Вы можете посмотреть документацию для массива, чтобы узнать ответ на этот вопрос.
В этом конкретном случае вам, вероятно, понадобится Length:
int sizeOfArray = array.Length;
Но так как это такой основной вопрос, и у вас, без сомнения, есть нечто большее, чем это, вместо того, чтобы просто сказать вам ответ, я лучше скажу вам, как найти ответ самостоятельно.
Visual Studio Intellisense
Когда вы вводите имя переменной и нажимаете клавишу .
, она показывает вам список всех методов, свойств, событий и т.д., доступных на этом объекте. Когда вы выделяете элемент, он дает вам краткое описание того, что он делает.
Нажмите F1
Если вы найдете метод или свойство, которое может делать то, что вы хотите, но вы не уверены, вы можете переместить курсор над ним и нажать F1, чтобы получить справку. Здесь вы получите гораздо более подробное описание плюс ссылки на соответствующую информацию.
Поиск
Поисковые термины size of array in C#
дают много ссылок, которые сообщают вам ответ на ваш вопрос и многое другое. Одним из наиболее важных навыков, которые должен изучать программист, является поиск информации. Часто быстрее найти ответ самостоятельно, особенно если тот же вопрос был задан раньше.
Использовать учебник
Если вы только начинаете изучать С#, вам будет легче следовать учебнику. Я могу порекомендовать учебники по С# в MSDN. Если вы хотите книгу, я бы рекомендовал Essential С#.
Переполнение стека
Если вы не можете найти ответ самостоятельно, не стесняйтесь оставлять вопрос в разделе "Переполнение стека". Но мы ценим это, если вы продемонстрируете, что сначала приложили усилия, чтобы найти ответ.
Ответ 3
С свойством Length
.
int[] foo = new int[10];
int n = foo.Length; // n == 10
Ответ 4
для одномерного массива
int[] listItems = new int[] {2,4,8};
int length = listItems.Length;
для многомерного массива
int length = listItems.Rank;
Чтобы получить размер 1 размерности
int length = listItems.GetLength(0);
Ответ 5
yourArray.Length
:)
Ответ 6
Для одного массива измерений вы используете свойство Length
:
int size = theArray.Length;
Для массивов с множеством измерений свойство Length
возвращает общее количество элементов в массиве. Вы можете использовать метод GetLength
, чтобы получить размер одного из параметров:
int size0 = theArray.GetLength(0);
Ответ 7
В большинстве общих случаев используются "длина" и "граф".
Массив:
int[] myArray = new int[size];
int noOfElements = myArray.Length;
Типированный массив массивов:
List <int> myArray = new List<int>();
int noOfElements = myArray.Count;
Ответ 8
он выглядит следующим образом: 1D:
type[] name=new type[size] //or =new type[]{.....elements...}
2D:
type[][]name=new type[size][] //second brackets are emtpy
то при использовании этого массива:
name[i]=new type[size_of_sec.Dim]
или Вы можете объявить что-то вроде матрицы
type[ , ] name=new type [size1,size2]