
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
生命周期创建时机实例数量适用场景Transient每次请求时每次都新实例轻量、无状态、临时对象Scoped每个作用域首次请求时每个作用域一个实例Web 请求内共享(如 DbContext)Singleton首次请求时(或启动时)全局唯一实例全局配置、缓存、日志等。
关键点说明是什么创建匿名函数的简洁语法核心符号=>主要用途初始化委托、LINQ 查询、事件处理、函数式编程优势简洁、支持闭包、类型推断、表达式树最佳实践优先使用ActionFunc+ Lambda,避免匿名方法🌟一句话记住Lambda 表达式让 C# 拥有了“把行为当作数据传递”的能力,是写出优雅、简洁、现代 C# 代码的关键。
Transient,SingletonT Resolve定义接口IContainer+ 生命周期枚举设计注册模型实现注册方法:支持泛型、自绑定实现解析逻辑:递归解析构造函数依赖管理单例缓存测试验证逐步扩展解耦对象创建与使用,由容器负责依赖组装。
方式懒加载线程安全简洁性推荐度Lazy<T>✅✅⭐⭐⭐⭐⭐⭐⭐⭐⭐嵌套类(Nested Holder)✅✅⭐⭐⭐⭐⭐⭐⭐双重检查锁定✅✅⭐⭐⭐⭐⭐饿汉式❌✅⭐⭐⭐⭐⭐加锁懒汉式✅✅⭐⭐非线程安全懒汉式✅❌⭐⭐❌。
`name=TFTP`: 规则的名称是 "TFTP"(这通常指的是Trivial File Transfer Protocol,但TFTP通常使用UDP端口69,所以名称是合适的)。所以,当你运行这条命令后,Windows防火墙会新增一条规则,允许从任何源地址到本地端口69的UDP入站数据包通过。* `localport=69`: 仅当目标端口(即本地端口)是69时,此规则才适用。* `dir=i
Transient,SingletonT Resolve定义接口IContainer+ 生命周期枚举设计注册模型实现注册方法:支持泛型、自绑定实现解析逻辑:递归解析构造函数依赖管理单例缓存测试验证逐步扩展解耦对象创建与使用,由容器负责依赖组装。
类型所在命名空间简介Thread表示操作系统级别的线程,直接映射到一个 OS 线程(1:1 模型)。Task表示一个异步操作,是 .NET 线程池之上的高级抽象,属于的核心。特性ThreadTask抽象层次低(OS 级)高(库级)资源开销高低返回值不支持支持(Task<T>异常处理危险安全取消机制不安全(Abort已弃用)安全(组合能力无强大(WhenAllWhenAny等)async/await
表示一个“线程同步事件”,它有两种状态:非信号状态(nonsignaled):调用WaitOne()的线程会被阻塞。信号状态(signaled):调用WaitOne()的线程可以立即继续执行。你可以通过Set()将其置为信号状态,通过Reset()置为非信号状态。特性说明本质封装 Windows 事件内核对象的 .NET 类两种模式AutoReset(过一人自动关) vs(需手动关)继承关系←Wa







