Я создал список массивов. Но я пытаюсь получить доступ к определенному индексу, чтобы вытащить конкретный массив, чтобы я мог выполнить цикл. и получить от него значения. Я даже не уверен, как запустить список code.my массивов имеет элементы, каждый с 1 aray с 5 valuse. Какие-либо предложения?C# Цикл через индекс из списка, который содержит массив
ответ
Как о чем-то вроде этого
List<int[]> l = new List<int[]>();
l.Add(new int[] { 1, 2, 3 });
l.Add(new int[] { 2, 3, 4 });
l.Add(new int[] { 3, 4, 5 });
int a = l[2][2]; // a = 5
Это показывает OP, как получить доступ к данному элементу данного массива в списке, но не как пропустить данный массив в списке, и это то, о чем они, похоже, спрашивают. – Tim
Вы можете использовать индекс в списке, чтобы петли через определенный массив, если вы знаете, что индекс.
Например, у вас есть список с именем listOfArrays
, и вы хотите перебрать второй массив:
foreach (int element in listOfArrays[1])
{
// do something with the array
}
listOfArrays[1]
вернет ИНТ [] во второй позиции в списке.
В качестве альтернативы, вы можете перебрать весь список и обрабатывать каждый массив как это:
foreach (int[] arr in listOfArrays)
{
foreach (int element in arr)
{
// do something with the array
}
}
Но это звучит, как вы хотите, чтобы просто получить доступ к указанному массиву в списке, не все из них.
Надежда, некоторые примеры помогут вам
List<int[]> myList = new List<int[]>(); // <- MyList is list of arrays of int
// Let's add some values into MyList; pay attention, that arrays are not necessaily same sized arrays:
myList.Add(new int[] {1, 2, 3});
myList.Add(new int[] {4, 5, 6, 7, 8});
myList.Add(new int[] {}); // <- We can add an empty array if we want
myList.Add(new int[] {100, 200, 300, 400});
// looping through MyList and arrays
int[] line = myList[1]; // <- {4, 5, 6, 7, 8}
int result = line[2]; // <- 6
// let's sum the line array's items: 4 + 5 + 6 + 7 + 8
int sum = 0;
for (int i = 0; i < line.Length; ++i)
sum += line[i];
// another possibility is foreach loop:
sum = 0;
foreach(int value in line)
sum += value;
// let's sum up all the arrays within MyList
totalSum = 0;
for (int i = 0; i < myList.Count; ++i) {
int[] myArray = myList[i];
for (int j = 0; j < myArray.Length; ++j)
totalSum += myArray[j];
}
// the same with foreach loop
totalSum = 0;
foreach(int[] arr in myList)
foreach(int value in arr)
totalSum += value;
Это помогло бы знать, какой язык вы используете! –
какой язык ??? – dejavu
Вы должны опубликовать фрагмент вашего существующего кода. –