BlogArticles/2024-04/C#命名规范 for Uni.md

62 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2025-08-26 01:34:11 +08:00
---
{
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命名法
}
```
在充分理解以上约定的基础上,清晰胜于简洁