簡體   English   中英

帶有特殊字符的 C# 變量名

[英]C# variable names with special character

我想在 C# 中的string變量名稱中包含一些特殊字符。

示例:字符串 foo-bar = String.Empty;

據我所知,我不能像上面的例子中提到的那樣聲明一個變量。 有什么辦法可以用“-”來聲明一個變量名?

MSDN

您不能只選擇任何字符序列作為變量名稱。 然而,這並不像聽起來那么令人擔憂,因為您仍然擁有一個非常靈活的命名系統。 基本的變量命名規則如下:

變量名的第一個字符必須是字母、下划線字符 (_) 或 at 符號 (@)。 后續字符可以是字母、下划線字符或數字。

不,這在 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!";

您不僅可以使用變量名,還可以在字典中查找字符串。 請注意,這是非常低效的,只是一個玩笑,所以請不要真正使用它;)

如果您試圖反序列化對象,您可以使用 JsonProperty 來實現這一點。

例子:

public class SubscriptionListJsonData
{
    [JsonProperty(PropertyName = "subscriptions")]
    public string SubscriptionData { get; set; }
    [JsonProperty(PropertyName = "@nextLink")]
    public string nextLink { get; set; }
}

按照此鏈接部分閱讀 Json。

你不能在 c# 和大多數其他編程語言中做到這一點。我還建議你遵循 C# 命名約定,因為它幫助你以一種 - 至少對我來說 - 總是感覺很舒服的方式閱讀你的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM