C # - можете ли вы назвать матрицу с содержимым строки - PullRequest
1 голос
/ 08 июня 2010

В основном у меня есть x количество матриц, которые мне нужно установить, y на размер y.Я надеялся назвать матрицы: matrixnumber1 matrixnumber2..matrixnumbern

Я не могу использовать массив в качестве его матриц, которые я должен сформировать.

Можно ли использовать строку для названия строки (или матрицы в данном случае)?

Заранее спасибо за любую помощь в этом!

for (int i = 1; i <= numberofmatricesrequired; i++)
        {
        string number = Convert.ToString(i);
        Matrix (matrixnumber+number) = new Matrix(matrixsize, matrixsize);
        }

Ответы [ 3 ]

3 голосов
/ 08 июня 2010

Вы можете добиться аналогичного эффекта, создав array Матриц и сохранив там каждый Matrix.

Например:

Matrix[] matrices = new Matrix[numberofmatricesrequired];
for (int i = 0; i < numberofmatricesrequired; i++)
{
    matrices[i] = new Matrix(matrixsize, matrixsize);
}

Это будет хранить кучу уникальных матриц в array.

2 голосов
/ 08 июня 2010

Если вы действительно хотите, вы можете создать Dictionary<String, Matrix> для хранения созданных вами матриц. Строка - это имя, созданное так, как вам нравится.

Затем вы можете получить матрицу, используя dict["matrix1"] (или как вы ее назвали).

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

Matrix theOne = matrix[index];

Если у вас есть номер переменной, то List<Matrix> будет проще, и если вы всегда добавляете в конец, вы все равно можете ссылаться на отдельные по его индексу.

1 голос
/ 08 июня 2010

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

Matrix[] matrices = new Matrix[numberofmatricesrequired];

for (int i = 0; i < matrices.Length; i++)
{
    matrices[i] = new Matrix(matrixsize, matrixsize);
}

Если вы действительноЕсли вы хотите использовать строку, тогда вы можете использовать Dictionary<string, Matrix>, но, учитывая вашу схему именования, кажется, что механизм на основе индекса (т.е. массив или List) лучше подходит.Тем не менее, в духе целостности ...

Dictionary<string, Matrix> matrices = new Dictionary<string, Matrix>();

for (int i = 1; i <= numberofmatricesrequired; i++)
{
    matrices.Add("Matrix" + i.ToString(), new Matrix(matrixsize, matrixsize));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...