--- { title: "C#命名规范 for Uni", description: "C#命名规范:标识符以字母或下划线开头,可含Unicode字符。接口以\"I\"开头(如`IMyInterface`),类、方法、常量用PascalCase,私有字段以\"_\"加camelCase,局部变量和参数用camelCase。特性以\"Attribute\"结尾。清晰命名优先于简洁。", draft: false, type: "article", created_at: "2024-04-08T23:00:00+08:00", published_at: "2024-04-08T23:29:00+08:00", updated_at: [ "2024-04-08T23:29:00+08:00"], category: 'Uni', tags: [ "C#" ], tech_stack: [ "C#" ], tech_stack_percent: [ 1 ], tech_stack_icon_names: [ "mdi:language-csharp" ], tech_stack_theme_colors: [ "#a179dc" ], } --- !!!warning Legacy Article 过时的文章 此文章从旧博客迁移而来,编写时技术水平有限,仅供参考 !!! # C#命名规范 该文是作者对[微软文档](https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/coding-style/identifier-names)的见解,更多详细信息请参照原文档 ## 标识符 (变量) · 标识符必须以字母或下划线(_)开头 · 标识符可以包含 Unicode 字母字符、十进制数字字符、Unicode 连接字符、Unicode 组合字符或 Unicode 格式字符。 · 你可以在关键字前加'@',声明一个与关键字相同的变量,例如:@if 是变量 if。我个人不太建议这么做。 ## 命名约定 在介绍命名约定之前,我将先介绍Pascal Case 和 Camel Case ### Pascle Case 形如 DataChecker, ValueCoordinate 之类的命名。将单词间空格删去,所有首字母大写,即是Pascle Case ### Camel Case Camel Case,又称驼峰法,与Pascal Case及其类似,只是第一个字母不在大写,例如dataChecker, valueCoordinate ### True 命名约定 ``` C# public interface IMyInterface //接口使用I作为开头,其余部分使用Pascle命名法 { public void MyMethod(); //方法使用Pascle命名法 } public class MyAttribute : Attribute { } //特性使用Attribute结尾,其余部分使用Pascle命名法 public class MyClass : IMyInterface { private readonly int _myVal = 256; //私有变量以_开头,其余部分使用Camel命名法 public void MyMethod() { const int MyVal = 1024; //常量使用Pascle命名法 int localVar = MyVal + _myVal; //局部变量使用Camel命名法 } public int AnotherMethod(int firstParameter) => firstParameter + _myVal; //方法参数使用Camel命名法 } ``` 在充分理解以上约定的基础上,清晰胜于简洁