這一個一直困惑着我,但我猜測有一個非常明智的解釋爲什麼會發生。爲什麼在集合初始值設定項的末尾有一個逗號?
當你有一個集合初始值設定項時,編譯器允許一個尾隨逗號,
new Dictionary<string, string>
{
{ "Foo", "Bar "},
};
和
new List<string>
{
"Foo",
};
人知道爲什麼後面的逗號是由編譯器允許嗎?
這一個一直困惑着我,但我猜測有一個非常明智的解釋爲什麼會發生。爲什麼在集合初始值設定項的末尾有一個逗號?
當你有一個集合初始值設定項時,編譯器允許一個尾隨逗號,
new Dictionary<string, string>
{
{ "Foo", "Bar "},
};
和
new List<string>
{
"Foo",
};
人知道爲什麼後面的逗號是由編譯器允許嗎?
這是一個程序員的方便,因爲開發人員可以簡單地複製和粘貼最後一行來擴展列表。 C#/。NET是這樣的:)
可能主要用於代碼生成器等工具,它在哪裏巨大方便不必知道這是第一個還是最後一個項目。可以說這不應該是一個決定性因素,但(寫了這樣的工具)我很感激它。
我猜測的原因有兩個:
當您更改此:
new List<string>
{
"Foo",
};
到:
new List<string>
{
"Foo",
"Bar",
};
DIFF-Tools將只強調增加的線。 因此,例如在代碼審查期間,您只需檢查新行。