带有特殊字符的C#变量名

kra*_*hiv 3 .net c# c#-4.0

我想string在C#中的变量名中包含一些特殊字符.

示例: string foo-bar = String.Empty;

据我所知,我不能像上面的例子中提到的那样声明变量.是否有办法声明包含" - "的变量名称?

小智 8

来自MSDN:

您不能只选择任何字符序列作为变量名称.然而,这并不像听起来那么令人担忧,因为你仍然有一个非常灵活的命名系统.基本变量命名规则如下:

变量名的第一个字符必须是字母,下划线字符(_)或at符号(@).后续字符可以是字母,下划线字符或数字.


Thr*_*eFx 6

不,这在 C# 中是不可能的。


如果你真的,真的,真的想要这样做,你可以使用Dictionary<string, string>

Dictionary<string, string> someVars = new Dictionary<string, string>()
                                      {
                                          {"foo-bar", String.Empty},
                                          {"bar-foo", "bazinga"}
                                      }
Run Code Online (Sandbox Code Playgroud)

使用它们看起来像这样:

string newstring = someVars["foo-bar"] + "Hello World!";
Run Code Online (Sandbox Code Playgroud)

您不仅可以使用变量名,还可以在字典中查找字符串。请注意,这是非常低效的,只是一个玩笑,所以请不要真正使用它;)