我的教科书(Visual C# How to Program, 6/e)指出C#中的字段应该使用camelCase。这与 C# 指南中给出的示例相对应Microsoft:https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/fields
public class CalendarEntry
{
// private field
private DateTime date;
// ...
}
然而,官方的Microsoft命名约定明确指出字段应该使用 PascalCase(尽管它们没有像往常那样提供私有字段的示例):https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions
标识符:字段,外壳:帕斯卡,例:
class MessageQueue
{
public static readonly TimeSpan InfiniteTimeout;
}
public struct UInt32
{
public const Min = 0;
}
那么,我怎么知道根据 MS 编码约定使用什么情况来保持我的编码风格正确?
AFAIK 没有固定的c#
惯例......是的,从技术上讲,有一个"官方"约定,但它不是100%遵循的,即使在MS自己的源代码中也是如此,而且许多程序员和/或公司肯定也没有虔诚地遵循它。
考虑到这一点,我的首选约定,也是我迄今为止看到的最好的约定,是在 ReSharper 中默认设置的约定。我强烈建议遵循以下约定:
-
PascalCase 适用于:类、结构、方法、属性、
public | internal | protected
字段(无论static | readonly | const
)和private const
字段。 -
_underscorePrefixCamelCase:
private
_fields(const
除外)。
驼 - 驼大小写:局部变量。