C# 如何使用字符串声明变量?

C# 如何使用字符串声明变量?,c#,string,C#,String,我需要声明一个名称与字符串匹配的变量 这就是我需要解决的问题,但实际上它使用名为“s”的新表达式实例编译(我需要它使用存储在字符串s中的名称) 我怎样才能解决这个问题 代码: 我需要为StringArray中的每个字符串创建一个新的表达式实例,并且每个表达式都需要根据字符串所包含的文本进行命名。这似乎是映射集合的一个用例。我自己不是C#用户,但我怀疑dictionary类将是一个可以访问的类: C#是一种编译语言,因此不能创建依赖于运行时数据的编译时变量。但是,可以使用地图样式的数据结构将唯一

我需要声明一个名称与字符串匹配的变量

这就是我需要解决的问题,但实际上它使用名为
“s”
的新表达式实例编译(我需要它使用存储在字符串s中的名称) 我怎样才能解决这个问题

代码:


我需要为
StringArray
中的每个字符串创建一个新的表达式实例,并且每个表达式都需要根据字符串所包含的文本进行命名。

这似乎是映射集合的一个用例。我自己不是C#用户,但我怀疑dictionary类将是一个可以访问的类:

C#是一种编译语言,因此不能创建依赖于运行时数据的编译时变量。但是,可以使用地图样式的数据结构将唯一的键对象与单个值对象关联。在本例中,您可以使用它将每个
字符串
与单个
表达式
关联

Dictionary myExpressionDict=newdictionary();
foreach(StringArray中的字符串s){
如果(!SomeDifferentArray.Contains)){
MyExpressionICT[s]=新表达式();
}
}
此循环完成后,对于原始
SomeArray
中的任何字符串
s
,可以执行
myExpressionICT[s]
以获取其关联的
表达式
对象


在C#中,这种结构被称为“字典”。根据您的编程语言或库,同样的数据结构也可能被命名为“map”或“hash”。例如,在Java集合框架中,它被称为Map,在Ruby中使用术语hash,在Python中使用名称dictionary(简称dict)。

您可以使用Map或dictionary。不完全是你要问的,但要简单得多。

你可能应该把它标记为C,或者说这是C(至少,我猜它是C);“这是我需要的工作”-不,这是你认为你需要的。实际上,这将是一个非常糟糕的解决方案。将程序逻辑绑定到变量名(编译程序后甚至不存在)只会导致无法维护的代码。你想要一个集合,可能是字符串到任何东西的映射。你可能有一个设计问题,而不是这个问题。你不想做那样的事。回顾你的设计。Marko可以更详细地阐述,你将如何在代码中使用它?
foreach (string s in StringArray)
            {
                if (SomeDifferentArray.Contains(s) != true)
                {
                    Expression s = new Expression(); 
                }
            }