Member 12895520 Ответов: 1

Мой вопрос из темы c# jagged array.


как я могу напечатать значения этого зубчатого массива?
здесь зазубренные размер массива равен 3.просто потому что каждое положение зубчатых точек массива различных размеров в 2D массива. я не могу напечатать его значения. когда я запускаю эту программу, отображаются только 1 и 3, и она показывает следующую ошибку
системы".индекс.исключение outofrange "

Что я уже пробовал:

static void Main(string[] args)
        {
            
            int[][,] jaggedArray4 = new int[3][,] 
        {
            new int[,] { {1,3}, {5,7} },
            new int[,] { {0,2}, {4,6}, {8,10} },
            new int[,] { {11,22}, {99,88}, {0,9} } 
        };
Console.WriteLine("Your Data\n");
            for (int i = 0; i < jaggedArray4.Length; i++)
            {
                for (int j = 0; j < jaggedArray4[i].Length; j++)
                {
                    for (int k = 0; k < jaggedArray4[j].Length;k++)
                    {
                        Console.WriteLine("jaggedposition i[{0}] 2D array[{1},{2}] is {3}", i, j, k, jaggedArray4[i][j,k]);

                    }
                   
                    Console.WriteLine("\n");
                }

                Console.WriteLine("\n");
            }

1 Ответов

Рейтинг:
0

OriginalGriff

Попробуй:

for (int i = 0; i < jaggedArray4.Length; i++)
    {
    int[,] line = jaggedArray4[i];
    for (int j = 0; j < line.GetLength(0); j++)
        {
        for (int k = 0; k < line.GetLength(1); k++)
            {
            Console.WriteLine("jaggedposition i[{0}] 2D array[{1},{2}] is {3}", i, j, k, jaggedArray4[i][j, k]);
            }
        Console.WriteLine("\n");
        }
    Console.WriteLine("\n");
    }