我想在C#中的string
变量名中包含一些特殊字符。
示例: string foo-bar = String.Empty;
据我所知,我不能像上面的例子中提到的那样声明一个变量。 有没有办法用"声明变量名称? - "包括?
答案 0 :(得分:7)
来自MSDN:
您不能只选择任何字符序列作为变量名称。然而,这并不像听起来那么令人担忧,因为你仍然留下了非常灵活的命名 系统。 基本变量命名规则如下:
变量名的第一个字符必须是字母,下划线字符(_)或at符号(@)。 后续字符可以是字母,下划线字符或数字。
答案 1 :(得分:3)
不,这在C#中是不可能的。
如果你真的,真的,真的想要这样做,你可以使用Dictionary<string, string>
:
Dictionary<string, string> someVars = new Dictionary<string, string>()
{
"foo-bar" = String.Empty,
"bar-foo" = "bazinga"
}
使用它们看起来像这样:
string newstring = someVars["foo-bar"] + "Hello World!";
不要只使用变量名,而是在字典中查找字符串。请注意,这是非常低效的,只是作为一个笑话,所以请不要真的使用它;)
答案 2 :(得分:0)
你不能在c#和大多数其他编程语言中做到这一点。我还建议你遵循C#命名约定,因为它可以帮助你以一种至少对我来说 - 一直觉得舒服的方式阅读你的代码。
答案 3 :(得分:0)
如果您要反序列化对象,则可以使用JsonProperty来实现。
示例:
public class SubscriptionListJsonData
{
[JsonProperty(PropertyName = "subscriptions")]
public string SubscriptionData { get; set; }
[JsonProperty(PropertyName = "@nextLink")]
public string nextLink { get; set; }
}