0

注意到我的 C# 代码中的一个小错误(第 4 行末尾):

Domain.Models.Patient patient = new Domain.Models.Patient
{
   PatientId = patientId,
   StudyID = studyId,
};

我没有收到任何构建错误或运行时错误 - 当 studyId 末尾有一个错误的逗号时。

为什么会这样,这真的很重要吗?

4

3 回答 3

2

没关系,也不会导致任何编译时错误。对于其他人来说也是如此,就像枚举一样。这可能是为了表明,可以将其他项目添加到对象中。

    enum Test
    {
        Value1,
        Value2,
        //Value3, May be to comment out easily
    }

找到参考 - C# 语言规范

(第 24.2 节)与标准 C++ 一样,C# 允许在数组初始化程序的末尾使用尾随逗号。此语法在从此类列表中添加或删除成员方面提供了灵活性,并简化了此类列表的机器生成。

(第 21.1 节)- C# 允许在枚举主体中使用尾随逗号,就像它允许在数组初始化器中使用逗号一样

于 2012-07-11T12:00:19.110 回答
0

编译器会忽略最后一个逗号。

Domain.Models.Patient patient = new Domain.Models.Patient
{
   PatientId = patientId,
   StudyID = studyId, // this comma is ignored by compiler.
};
于 2012-07-11T12:05:02.073 回答
0

当您复制/粘贴、重新排列、注释掉/在初始化程序中时,这非常方便。如果您必须在过程中添加或删除逗号,您不必担心。

于 2012-07-11T12:05:02.377 回答