可能重复:
Inline property initialisation and trailing comma为什么C#4.0容忍匿名对象初始化代码中的尾随逗号?
在我的一个项目工作(C#4.0,Visual Studio 2010中),我意外地发现,这样的代码
var obj = new { field1 = "Test", field2 = 3, }
被编译和执行OK没有任何错误或者甚至警告并且完全像
var obj = new { field1 = "Test", field2 = 3 }
为什么编译器会容忍第一个例子中的尾部昏迷?这是编译器中的错误还是这样的行为确实有一些目的?
谢谢
问题已经回答了..两次:http://stackoverflow.com/questions/3675173/why-can-you-have -a-comma-at-end-of-a-collection-initializer和http://stackoverflow.com/questions/2147333/net-enumeration-allows-comma-in-the-last-field – nowaq
@nowaq我的不好,本来应该搜索过“昏迷昏迷”,而不是为“匿名对象昏迷”。 –
您是否注意到它似乎也允许使用分号分号? – Gabe