在类名中使用下划线

时间:2011-01-06 23:47:56

标签: c# naming-conventions

在类名中使用_是否安全?

命名中.的最佳替代是什么? (目前我使用_。)

6 个答案:

答案 0 :(得分:9)

安全一次为一个下划线执行此操作,但您不应使用两个连续下划线。从C#语言规范,第2.4.2节:

  

包含两个连续下划线字符(U + 005F)的标识符保留供实现使用。例如,实现可能会提供以两个下划线开头的扩展关键字。

我个人尽量避免使用带下划线的类型名称...但我不确定“替换.”是什么意思。如果你能给出一些背景信息,那会有所帮助。

答案 1 :(得分:2)

是的,这是安全的。

你甚至不应该考虑拥有“。”在班级名称中。我无法想象什么时候会出现。也许如果你想用“.NET”来命名,你会用“DotNet”来命名。类名应简明扼要,就个人而言,我从未在一个中使用下划线。我更喜欢骆驼套管。

您可以考虑阅读MSDN - Naming Guidelines

答案 2 :(得分:2)

对于类名,我使用CamelCasing而不是_。您应该坚持一个标准,如果您正在处理具有多个人的项目,这一点尤为重要。命名约定应在解决方案/组织中保持一致

答案 3 :(得分:2)

正如其他人所说,这是安全的。但是,Microsoft的Class Naming Guidelines读到了:

  

请勿使用下划线字符(_)。

正如Jon Skeet所提到的,一个好的选择是将.替换为Dot。例如,与drive.google.com相关的类可以命名为DriveDotGoogle。 (我认为DotCom部分可以省略,以免不必要地延长名称。)

答案 4 :(得分:0)

在类名中使用_是安全的,就像使用其他标识符一样。

为什么在课程名称中需要逻辑.?你能举个例子吗?

答案 5 :(得分:0)

听起来像是在生成CSharp代码。如果是这种情况,您可能需要从System.Design程序集中查看以下帮助程序例程:

http://msdn.microsoft.com/en-us/library/ms145952.aspx

static string FixName(string givenName)
{
    return System.Resources.Tools.StronglyTypedResourceBuilder.VerifyResourceName(
        givenName, new Microsoft.CSharp.CSharpCodeProvider());
}