How can I declare dynamic two dimensional Array in Csharp?

How can I define two dimensional dynamic array? ,i'm Writing Dijkstra Algorithm program,i wanna each node that connected to another nodes  its value save into array.in fact , it should be dynamic two dimensional Array.not specified which one of nodes connected to another nodes.picture
Member_2_7970207Asked:
Who is Participating?
 
sarabandeCommented:
if you know the dimensions bevor you do it by this (somehow weird) syntax:

int [, ] array2d = new int [4, 2];

Open in new window


if not you may use a List

List< List<Node> > array2d = new List< List<Node> > ;
array2d.Add(new List<Node>);

array2d[0].Add(new Node(7, 53));

Open in new window


(i hope the syntax is correct).

Sara
0
 
AndyAinscowFreelance programmer / ConsultantCommented:
This isn't what you asked for but maybe a list of 2-tuples might be useful:
https://msdn.microsoft.com/en-us/library/dd268536(v=vs.110).aspx
0
 
käµfm³d 👽Commented:
I don't think you'll want sarabande's array syntax. That defines a square array, which means both dimensions are fixed to what you declare them as. You probably want an array of arrays. It's somewhat related to a square array, but the only the first dimension is fixed--the 2nd dimension is dynamic:

int[][] array2d = new int[5][];

It's similar, in effect, to the list of lists that sarabande purposes.
0
 
sarabandeCommented:
Closed with an equal share of points.

Sara
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.