C#如何声明具有特定索引的变量?

C#如何声明具有特定索引的变量?,c#,variables,declaration,C#,Variables,Declaration,通常,我们用特定的名称声明变量。 int x=1; int-life2=100 但是,如果我想声明一组具有如下特定索引的变量,该怎么办 x1,x2,x3。。。x(n) 而不是手动暴力声明 整数x1,x2,x3,x4,。。。。。x(n); 如何通过不使用数组或列表来实现这一点 我不确定地记得这可以通过使用循环和一些特殊语法来实现,比如 for(int f1=0;f1<10;f1++) { string temp = ""+f1; int x+temp; //something . .

通常,我们用特定的名称声明变量。 int x=1; int-life2=100

但是,如果我想声明一组具有如下特定索引的变量,该怎么办 x1,x2,x3。。。x(n) 而不是手动暴力声明 整数x1,x2,x3,x4,。。。。。x(n); 如何通过不使用数组或列表来实现这一点

我不确定地记得这可以通过使用循环和一些特殊语法来实现,比如

for(int f1=0;f1<10;f1++)
{
 string temp = ""+f1;
 int x+temp; //something
 .
 .
 .
}

for(int f1=0;f1否,此语法在C#中不起作用。您需要使用数组或列表。

也许您可以使用,其成员可以在运行时添加和删除

例如:

dynamic expandoObject = new ExpandoObject();

for (int i = 0; i < 100; i++)
{
    ((IDictionary<string, object>) expandoObject)["x" + i] = i;
}

Console.WriteLine(expandoObject.x1);  //Will write 1
Console.WriteLine(expandoObject.x2);  //Will write 2
Console.WriteLine(expandoObject.x50); //Will write 50
dynamic expandoObject=new expandoObject();
对于(int i=0;i<100;i++)
{
((i词典)扩展对象)[“x”+i]=i;
}
Console.WriteLine(expandooobject.x1);//将写入1
Console.WriteLine(expandooobject.x2);//将写入2
Console.WriteLine(expandooobject.x50);//将写入50

那么为什么不使用数组或列表呢?我很确定你不能在C#中这样做,我也不明白你为什么要这样做,而不仅仅是索引数组或列表。