使用C#中字符串数组中的项创建变量名称

我想使用一个字符串数组来创建几个带循环的变量。

string[] testArray = new string[5] {"Test1", "Test2", "Test3", "Test4", "Test5"}; for (int index = 0; index < testArray.length; index++) { string nameArray[index]; } 

这给出了两个错误:

  • 变量’nameArray’已声明但从未使用过
  • 错误的数组声明符:要声明托管数组,等级说明符在变量的标识符之前。 要声明固定大小的缓冲区字段,请在字段类型之前使用fixed关键字。

我想我明白为什么我尝试的方式不起作用……还有另一种方法可以做到这一点吗?

要直接回答你的问题,就无法完成。 C#不允许在运行时命名变量。 但是,你可以通过使用字典来解决这个问题。 例如:

 string[] testArray = new string[5] {"Test1", "Test2", "Test3", "Test4", "Test5"}; var nameDict = new Dictionary(); for (int index = 0; index < testArray.Length; index++) { nameDict.Add(testArray[index], "some string value"); } 

这将为您提供一个字典,其中您要存储的值(可以是字符串,对象或任何POCO)由字符串名称键控,例如“Test1”,“Test2”,“Test3”。

这通常是不好的做法,而且一般都是坏主意。 它使调试非常困难,只是被认为是非常糟糕的做法。 我建议你尽可能找到一种不同的做事方式。

没有办法做到这一点。