注意到我的 C# 代码中的一个小错误(第 4 行末尾):
Domain.Models.Patient patient = new Domain.Models.Patient
{
PatientId = patientId,
StudyID = studyId,
};
我没有收到任何构建错误或运行时错误 - 当 studyId 末尾有一个错误的逗号时。
为什么会这样,这真的很重要吗?
注意到我的 C# 代码中的一个小错误(第 4 行末尾):
Domain.Models.Patient patient = new Domain.Models.Patient
{
PatientId = patientId,
StudyID = studyId,
};
我没有收到任何构建错误或运行时错误 - 当 studyId 末尾有一个错误的逗号时。
为什么会这样,这真的很重要吗?
没关系,也不会导致任何编译时错误。对于其他人来说也是如此,就像枚举一样。这可能是为了表明,可以将其他项目添加到对象中。
enum Test
{
Value1,
Value2,
//Value3, May be to comment out easily
}
找到参考 - C# 语言规范:
(第 24.2 节)与标准 C++ 一样,C# 允许在数组初始化程序的末尾使用尾随逗号。此语法在从此类列表中添加或删除成员方面提供了灵活性,并简化了此类列表的机器生成。
和
(第 21.1 节)- C# 允许在枚举主体中使用尾随逗号,就像它允许在数组初始化器中使用逗号一样
编译器会忽略最后一个逗号。
Domain.Models.Patient patient = new Domain.Models.Patient
{
PatientId = patientId,
StudyID = studyId, // this comma is ignored by compiler.
};
当您复制/粘贴、重新排列、注释掉/在初始化程序中时,这非常方便。如果您必须在过程中添加或删除逗号,您不必担心。