Как посмотреть столбец 2-D матрицы в режиме отладки Visual Studio 2017? - PullRequest
1 голос
/ 20 апреля 2019

ребята.

Я знаю, что мы можем наблюдать массив в режиме отладки VS, добавив массив в окно наблюдения, но как мы можем просмотреть столбец матрицы (двумерный массив)? Допустим, у нас есть матрица A [3] [3], и я хочу видеть только все элементы в третьем столбце в режиме отладки. Я пытался набрать A [] [2] или A [:] [2] или A [,] [2] в окне просмотра, но ни один из этих 3 не распознается.

Пожалуйста, помогите!

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019

Сейчас мы не можем получить значения столбцов в режиме отладки, по крайней мере, напрямую.

Окно просмотра предназначено для просмотра переменных и выражений во времярежим отладки. Он не может распознать переменную, которая не распознается компилятором.

Например: допустим, у нас есть матрица A [3] [3], компилятор может распознать переменную A,A[2] переменная, но не для чего-то вроде A[][2] (это недопустимая переменная).Соответственно, оно не будет распознано окном наблюдения.

Если у вас есть сценарий, в котором у вас большая двумерная матрица, и вам по какой-то причине вам нужно значение столбца.Вы можете создать одномерный массив, выполнить итерацию вашего двумерного массива и поместить в него значение третьего столбца.Затем добавьте переменную одномерного массива в окно наблюдения.

У нас есть много обходных путей для получения значения столбца в режиме отладки, но я боюсь, что для непосредственного просмотра столбца массива в режиме отладкиявляется отрицательным. Эта опция не поддерживается в vs2017.

Кроме того: Не уверен, какой язык вы используете, но если вы используете .net (C #, VB), A [3] [3] - это массив с неровностями , а не двумерный массив .

0 голосов
/ 21 апреля 2019

Это не настоящая матрица, а всего лишь массив массивов , поэтому я думаю, что не существует встроенного метода для получения этого.

Но с linq вы можете попробовать что-тонапример:

A.select(a => a[2]).toArray()

Чтобы использовать linq в окне просмотра, вам нужно добавить следующую строку в начало кода:

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