Отладка многомерных массивов C # - PullRequest
1 голос
/ 24 мая 2019

Есть ли способ отобразить матрицу в виде таблицы в режиме отладки? Я думаю, что, как показывают VS 2019, неважно видеть, как меняется матрица.

Visual Studio 2019 table

1 Ответ

1 голос
/ 24 мая 2019

Вы можете добавить простой метод расширения к проекту, который вы отлаживаете:

public static class DebugExtensions
{
    public static string Test2D(this Array source, int pad = 10)
    {
        var result = "";
        for (int i = source.GetLowerBound(0); i <= source.GetUpperBound(0); i++)
        {
            for (int j = source.GetLowerBound(1); j <= source.GetUpperBound(1); j++)
                result += source.GetValue(i, j).ToString().PadLeft(pad);
            result += "\n";
        }
        return result;
    }
}

Этот метод выполняет итерацию по 2-мерному массиву, добавляя каждый элемент массива в многострочную строку.

Во время отладки вы можете использовать его в окне Watch .Откройте окно Watch, введите новое выражение, щелкните значок лупы и выберите «Текстовый визуализатор»:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...