注意到我的C#代码中存在一个小错误(第4行结束):
Domain.Models.Patient patient = new Domain.Models.Patient
{
PatientId = patientId,
StudyID = studyId,
};
如果在studyId末尾有错误的逗号,我不会收到任何构建错误或运行时错误。
为什么会这样,这真的很重要吗?
答案 0 :(得分:2)
没关系,也不会导致任何编译时错误。它对其他人也是如此,就像枚举一样。可能表明,其他项目可能会添加到对象中。
enum Test
{
Value1,
Value2,
//Value3, May be to comment out easily
}
找到Reference - C# Language Specification:
(第24.2节)与标准C ++一样,C#允许在结尾处使用尾随逗号 阵列初始化。此语法提供添加或的灵活性 从这样的列表中删除成员,并简化机器生成 这些清单。
并且
(第21.1节) - C#允许在枚举体中使用尾随逗号,就像它允许一个 数组初始值设定项
答案 1 :(得分:0)
编译器会忽略最后一个逗号。
Domain.Models.Patient patient = new Domain.Models.Patient
{
PatientId = patientId,
StudyID = studyId, // this comma is ignored by compiler.
};
答案 2 :(得分:0)
当您在初始化程序中复制/粘贴,重新排列,注释/注释时,这非常方便。如果您必须在进程中添加或删除逗号,则无需担心。