C#使用yield关键字提升迭代性能与效率

博主头像 前言 yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,减少了内存占用,并允许在迭代时执行复杂逻辑。 传统迭代和yield迭代方式对比 咱们来看看传统迭代方式和yield关键字迭代方式对比,是否如传说中的代码实现起来更简洁和高效: /// <summary> /// ...

回顾我的软件开发经历(1)

二十多年前,刚从大学毕业,对软件开发认识非常有限,掌握的技能也不多。 第一份工作 第一份工作是搭建一个BBS论坛,模仿当时流行的三夫户外论坛。 那时,对知识如饥似渴。由于买不起书,我常常去书店找到相关的ASP书籍,用钢笔将代码抄写在笔记本上,第二天再输入到电脑中。结合手头的书籍,认真学习ASP,虽然 ...

.NET9 AOT部署

博主头像 概念 AOT是Ahead-of-Time的缩写,AOT是将C#程序提前编译为机器代码(通常为平台特定的二进制文件),在应用程序启动之前完成编译过程。 微软官方文档是这样说的 将应用程序发布为本机 AOT 会生成一个自包含的应用程序,并且已提前 (AOT) 编译为本机代码。原生 AOT 应用程序具有更 ...

.NET 9 new features-C#13新的锁类型和语义

博主头像 C# 13 中,引入了新的锁类型和语义,主要用于增强多线程编程中的同步机制。 传统上,C# 使用 lock 关键字与任意的 object 实例配合,实现线程间的互斥访问。然而,这种方式可能存在性能瓶颈和潜在的死锁风险。 为此,C# 13 在 .NET 9 中引入了新的锁类型 System.Threa ...

DeepSeek V3 两周使用总结

2024 年 12 月 26 日,杭州深度求索人工智能基础技术研究有限公司发布 DeepSeek-V3 大模型。官方宣称:(1)基于自研的 MoE 模型和 671B 参数,在 14.8T token 上进行了预训练;(2)多项评测成绩超越了 Qwen2.5 - 72B 和 Llama - 3.1 - ...