这一直困惑我,但我猜测有一个非常明智的解释为什么会发生。
当你有一个集合初始值设定项时,编译器允许使用尾随逗号,例如:
new Dictionary<string, string>
{
{ "Foo", "Bar "},
};
和
new List<string>
{
"Foo",
};
任何人都知道为什么编译器允许这个尾随逗号?
答案 0 :(得分:8)
可能主要用于像代码生成器这样的工具,非常方便,不必知道这是第一个还是最后一个项目。可以说这不应该是一个决定因素,但是(编写过这样的工具)我很感激。
答案 1 :(得分:5)
答案 2 :(得分:4)
这是程序员的便利,因为开发人员可以简单地复制并粘贴最后一行来扩展列表。 C#/ .NET好像这样:)
答案 3 :(得分:3)
我猜测有两个原因:
答案 4 :(得分:1)
当你改变这个时:
new List<string>
{
"Foo",
};
到那个:
new List<string>
{
"Foo",
"Bar",
};
Diff-Tools只会突出显示添加的行。 所以例如在代码审查期间,您只需检查新行。