У меня массив 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 ];
}