Как получить доступ к элементу многомерного массива с помощью одной переменной, представляющей [i, j]? - PullRequest
1 голос
/ 28 мая 2020

У меня массив 4х4. Я хочу присвоить определенному элементу c псевдоним (переменную), но не нашел интуитивно понятного решения.

Вопрос: Как получить доступ к определенному элементу c с помощью одного элемента? Я намерен использовать псевдоним для каждого элемента для удобства чтения в будущем. Пусть будущие сопровождающие знают значение каждого элемента.

int[] arr = new int[ 4,4 ];

//This code won't compile
var YtoZ = "1,2";
int value = arr[ YtoZ ]; // equivalent to arr[1,2];

Я проверил MSDN , но его пример доступен по жестко запрограммированному значению.

Я пробовал следующие ключевые слова:

  • "C# доступ к индексу многомерного массива по одной переменной"
  • "c# указание многомерного массива по переменной"

В большинстве связанных сообщений для сохранения используется кортеж it: Как сохранить индекс многомерного массива?

Другие результаты в основном связаны с его объявлением:

Моим обходным путем может быть упаковка массива с перегруженным значением перечисления, но мне хочется слишком много думать.

    public class wrapper
    {
        public enum NickName
        {
            X2x = 0,
            X2y = 10,
            Z2x = 2020,
            X2z = 2000,
        }
        // Provide [] operator access
        public object this[ NickName index ]
        {
            get
            {
                int i = (int)index % 100;
                int j = (int)index / 100;
                return m_Matrix[ i, j ];
            }
        }

        float[,] m_Matrix = new float[ 4, 4 ];
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...