C# - 你可以用字符串的内容命名一个矩阵

时间:2010-06-08 14:23:05

标签: c# arrays c#-4.0

基本上我有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 个答案:

答案 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));
}