在.NET框架的开发体系中,微软官方制定了一套成熟的C#编程风格规范,这些规范不仅体现在框架源码的设计中,也通过官方文档和示例代码传递给开发者,下面我们就结合具体的代码实例来梳理常见的规范要点。

命名规范相关实例
微软推荐的命名规则区分了不同类型元素的命名方式,核心原则是清晰易懂,符合驼峰命名和下划线命名的适用场景。
类与接口的命名
类名使用PascalCase命名法,接口名以大写字母I开头,同样采用PascalCase:
// 接口命名示例,以I开头,后续单词首字母大写
public interface IDataProcessor
{
void ProcessData();
}
// 类命名示例,直接使用PascalCase
public class UserDataProcessor : IDataProcessor
{
public void ProcessData()
{
// 处理逻辑
}
}方法与参数的命名
方法名使用PascalCase,参数名使用camelCase,私有字段以下划线开头加camelCase:
public class OrderService
{
// 私有字段命名,下划线开头加camelCase
private readonly IOrderRepository _orderRepository;
public OrderService(IOrderRepository orderRepository)
{
_orderRepository = orderRepository;
}
// 方法名PascalCase,参数名camelCase
public List<Order> GetUserOrders(int userId, DateTime startTime)
{
return _orderRepository.QueryOrders(u => u.UserId == userId && u.CreateTime >= startTime);
}
}代码格式规范实例
代码格式的统一能提升代码的可读性,微软在官方示例中也有明确的格式要求。
代码块与缩进
使用4个空格作为缩进,代码块的大括号单独占一行,和控制语句保持对齐:
public class Calculator
{
public int Add(int a, int b)
{
// 大括号单独占一行,内部代码缩进4个空格
if (a < 0 || b < 0)
{
throw new ArgumentException("参数不能为负数");
}
return a + b;
}
}注释规范
公共类型、方法需要添加XML注释,方便生成文档和IDE提示,单行注释用于解释复杂逻辑:
/// <summary>
/// 用户服务类,处理用户相关的业务逻辑
/// </summary>
public class UserService
{
/// <summary>
/// 根据用户名获取用户信息
/// </summary>
/// <param name="userName">用户名</param>
/// <returns>用户实体,不存在则返回null</returns>
public User GetUserByName(string userName)
{
// 先查询缓存,缓存不存在再查询数据库
var cachedUser = CacheHelper.Get<User>(userName);
if (cachedUser != null)
{
return cachedUser;
}
return DbContext.Users.FirstOrDefault(u => u.Name == userName);
}
}异步编程风格实例
在.NET框架中,异步方法推荐以Async结尾,使用async/await关键字,避免阻塞线程:
public class FileService
{
// 异步方法以Async结尾,返回Task或Task<T>
public async Task<string> ReadFileContentAsync(string filePath)
{
// 使用异步方法读取文件,避免阻塞
using (var stream = new FileStream(filePath, FileMode.Open))
using (var reader = new StreamReader(stream))
{
return await reader.ReadToEndAsync();
}
}
}常见规范对照表
下面整理几个常见元素的命名规范对照,方便开发者快速查阅:
| 元素类型 | 命名规则 | 示例 |
|---|---|---|
| 公共类 | PascalCase | CustomerService |
| 私有字段 | _camelCase | _customerList |
| 公共方法 | PascalCase | GetCustomerList |
| 局部变量 | camelCase | customerCount |
| 异步方法 | PascalCase+Async后缀 | QueryDataAsync |
以上实例均来自微软官方给出的.NET框架C#编程风格参考,开发者在日常编码中可以参照这些规范,保持代码风格的一致性,提升代码的整体质量。