Two dimensional arrays are similar to an array of arrays, but probably the easiest way to think about them is as a grid of rows and columns. In fact, probably the most common usage is to represent a grid where the first index represents the row, and the second index represents the column of the value you're looking for, and you access items like: var item = array[row, col];
It sounds like you want to get a specific row from a two-dimensional array. One way to do this is to get the length of the second dimension (the number of columns) and then iterate through the array at a specific row value to get all the items from that row:
// row 0 row 1 row 2 row 3
var array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
var rowIndex = 0;
var numCols = array2D.GetLength(1);
var row0Items = new List<int>();
for (int i = 0; i < array2D.GetLength(1); i++) row0Items.Add(array2D[rowIndex, i]);
If you want to instead convert a two-dimensional array into a jagged array (which is made to be treated as an array of arrays), you could do something like:
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
int[][] jagged = new int[array2D.GetLength(0)][];
for (int row = 0; row < array2D.GetLength(0); row++)
{
var currentRow = new List<int>();
for (int col = 0; col < array2D.GetLength(1); col++)
{
currentRow.Add(array2D[row, col]);
}
jagged[row] = currentRow.ToArray();
}