基本上我有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);
}
答案 0 :(得分:3)
您可以通过创建array
矩阵并将每个Matrix
存储在其中来实现类似的效果。
例如:
Matrix[] matrices = new Matrix[numberofmatricesrequired];
for (int i = 0; i < numberofmatricesrequired; i++)
{
matrices[i] = new Matrix(matrixsize, matrixsize);
}
这将在array
中存储一堆唯一的矩阵。
答案 1 :(得分:2)
如果您真的想要,可以创建一个Dictionary<String, Matrix>
来保存您创建的矩阵。字符串是名称 - 无论你喜欢如何创建。
然后,您可以使用dict["matrix1"]
(或您称之为的任何内容)检索矩阵。
然而,如果你有一个预定数字的数组会更简单,你可以通过它的索引来引用你想要的数据:
Matrix theOne = matrix[index];
如果您有一个变量编号,List<Matrix>
会更简单,如果您总是添加到最后,您仍然可以通过其索引引用各个。
答案 2 :(得分:1)
我很好奇为什么你不能使用数组或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));
}