array of arrays

you need a jagged array, that is the best solution here

int[][] j = new int[][] 

or:

string[][] jaggedArray = new string[3][];

jaggedArray[0] = new string[5];
jaggedArray[1] = new string[4];
jaggedArray[2] = new string[2]

then:

jaggedArray[0][3] = "An Apple"
jaggedArray[2][1] = "A Banana"

etc...

note:

Before you can use jaggedArray, its elements must be initialized.

in your case you could wrap the array in another class but that seems highly redundant imho


Simple example of array of arrays or multidimensional array is as follows:

int[] a1 = { 1, 2, 3 };
int[] a2 = { 4, 5, 6 };
int[] a3 = { 7, 8, 9, 10, 11 };
int[] a4 = { 50, 58, 90, 91 };

int[][] arr = {a1, a2, a3, a4};

To test the array:

for (int i = 0; i < arr.Length; i++)
{
    for (int j = 0; j < arr[i].Length; j++)
    {
        Console.WriteLine("\t" +  arr[i][j].ToString());
    }
}

You can use List of List. List - it is just dynamic array:

        var list = new List<List<int>>();
        list.Add(new List<int>());
        list[0].Add(1);
        Console.WriteLine(list[0][0]);

Tags:

Expansion