Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multidimensional List of ints C#

Tags:

c#

list

First of all i searched through the questions and I haven't found the thing I need , maybe it doesn't exist haha but i'll give it a shot.I am new to C# and I am coming from C++, got highschool experience.

In C++ I had Vector<int> T[]; so I could create a list with a size that it wasn't know; and make something like this and not wasting space; to be more exact

T[0][....];
T[1][...];

1 2 3 4 5
1 2 3 
2 4 1 5
0 0 0 0 0 0

I am trying to do this in C# and It doesn't seem to work; I have tried this so far:

 public class myints
    {
        public int x { get; set; }
    }

  public List<myints[]> T = new List<myints[]>();

  T[i].Add(new myints() { x = i });

I wanna be able to add stuff and then use Count() in a for to see how many elemts I have in a T[i]. like T[i].size()... Is this possible?

the program says System.Array does not contain a definition for Add

like image 956
rakuens Avatar asked Jan 04 '16 19:01

rakuens


1 Answers

This example creates a list with a number of sublists of varying length and should serve as a good starting point for what you want to do.

List<List<int>> mainlist = new List<List<int>>();
List<int> counter = new List<int>() { 5, 4, 7, 2 };
int j = 0;

// Fill sublists
foreach(int c in counter)
{
    mainlist.Add(new List<int>(c));
    for(int i = 0; i < c; i++ )
        mainlist[j].Add(i);
    j++;
 }

You could also add initialized lists to the main list

List<List<int>> mainlist = new List<List<int>>();
mainlist.Add(new List<int>() { 1, 5, 7 });
mainlist.Add(new List<int>() { 0, 2, 4, 6, 8 });
mainlist.Add(new List<int>() { 0, 0, 0 });
like image 85
Yurrit Avonds Avatar answered Sep 19 '22 21:09

Yurrit Avonds