我的教科书(Visual C#How to Program,6 / e)规定C#中的字段应该使用camelCase。这与Microsoft C#指南中给出的示例相对应: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/fields
var query = (from prof in context.BillingProfiles
join emp in context.Emps on prof.ID equals emp.ID
join grp in context.BillingGroups on prof.GroupID equals grp.GroupID
where (prof.EndDate == null) && (grp.System == "sysGrp") && (prof.ID == id)
select prof).Distinct()
.Select(x => new OpId()
{
id = x.ID,
GroupId = x.GroupID,
OpId = x.OpID,
StartDate = x.StartDate,
EndDate = x.EndDate,
AddedOn = x.AddedOn,
AddedBy = x.AddedBy,
RemovedOn = x.RemovedOn,
RemovedBy = x.RemovedBy,
Prodid = x.ProdID,
});
然而,官方的Microsoft命名约定明确指出字段应该使用PascalCase(尽管它们没有提供私有字段的例子,因为它们应该是正常的): https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions
标识符:Field, 套管:Pascal, 例如:
public class CalendarEntry
{
// private field
private DateTime date;
// ...
}
Sooo,我怎么知道根据MS编码惯例使用什么案例来保持我的编码风格?
答案 0 :(得分:5)
AFAIK c#
没有一成不变的约定...是的,技术 “官方”惯例,但即使在MS自己的源代码中,也没有100%的时间遵循惯例,并且许多程序员和/或公司肯定没有遵循宗教信仰。
考虑到这一点,我的首选约定,以及迄今为止我见过的最好的约定,是ReSharper默认设置的约定。我强烈建议遵循这个惯例:
public | internal | protected
字段(无论static | readonly | const
)和private const
字段。private
_fields(const
时除外)。