开发者

C# - can you name a matrix with the contents of a string

Basically I have x amount of matrices I need to establish of y by y size. I was hoping to name the开发者_如何学Python matrices: matrixnumber1 matrixnumber2..matrixnumbern

I cannot use an array as its matrices I have to form.

Is it possible to use a string to name a string (or a matrix in this case)?

Thank you in advance for any help on this!

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


You can achieve a similar effect by creating an array of Matrices and storing each Matrix in there.

For example:

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

This will store a bunch of uniques matrices in the array.


If you really want to you could create a Dictionary<String, Matrix> to hold the matrices you create. The string is the name - created however you like.

You can then retrieve the matrix by using dict["matrix1"] (or whatever you've called it).

However an array if you have a predetermined number would be far simpler and you can refer to which ever you want via it's index:

Matrix theOne = matrix[index];

If you have a variable number a List<Matrix> would be simpler and if you always added to the end you could still refer to individual ones by its index.


I'm curious why you cannot use an array or a List, as it seems like either of those are exactly what you need.

Matrix[] matrices = new Matrix[numberofmatricesrequired];

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

If you really want to use a string, then you could use a Dictionary<string, Matrix>, but given your naming scheme it seems like an index-based mechanism (ie. array or List) is better suited. Nonetheless, in the spirit of being comprehensive...

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

for (int i = 1; i <= numberofmatricesrequired; i++)
{
    matrices.Add("Matrix" + i.ToString(), new Matrix(matrixsize, matrixsize));
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜