![](https://blog-image.z2h.cn/3/202305072108077.jpg!w600h300)
使用 Azure OpenAI 创建一个聊天机器人
![](https://blog-image.z2h.cn/3/202304161042360.png!w600h300)
GUID 在 C# 中的五种格式化输出
![](https://blog-image.z2h.cn/3/202302221426033.png!w600h300)
EF Core 8 Preview 1 的三个新特性
![](https://blog-image.z2h.cn/2/202206280157985.webp!w600h300)
Dotnet 序列化枚举为字符串
![](https://blog-image.z2h.cn/1/92110360e6175a0c7862b83b48d22277.webp!w600h300)
在 .NET 应用程序中运行 JavaScript
![](https://blog-image.z2h.cn/1/7bc1e039c7856f2af798ece6827f1e52.webp!w600h300)
C# 11 移除了一个新特性
![](https://blog-image.z2h.cn/1/47bf8eb9e838e8782736c0e8f60aaea8.webp!w600h300)
EF Core 6 新功能汇总(三)
![](https://blog-image.z2h.cn/1/5ce92b68937e43177245cff3cebf5148.webp!w600h300)
EF Core 6 新功能汇总(二)
![](https://blog-image.z2h.cn/1/451cc631ab13ebac16e4d6cf2ebf8715.webp!w600h300)
EF Core 6 新功能汇总(一)
![](https://blog-image.z2h.cn/1/9e00f4a6475e37aade54fc2659b6af52.webp!w600h300)
EF Core 6 中 LINQ 的改进
![](https://blog-image.z2h.cn/1/f3c170f8f3b72fd46162a52dec5ab73e.webp!w600h300)
探索 .NET 6 | 02 比较 WebApplicationBuilder 和 Host
![](https://blog-image.z2h.cn/1/0ac6aa46328379af7a74ab1aa5f879dd.webp!w600h300)
探索 .NET 6 | 01 揭开 ConfigurationManager 的面纱
![](https://blog-image.z2h.cn/1/d08618865b273060094c1c8861eb8bf8.webp!w600h300)
.NET 6 中 System.Text.Json 的新特性
![](https://blog-image.z2h.cn/1/2d8614d11cf3daff556d55a913e989db.webp!w600h300)
.NET 也有 Husky 了
![](https://blog-image.z2h.cn/1/8c0ceb6221db6c6874fb2336d32225ad.webp!w600h300)
.NET 6 中 LINQ 的改进
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 18-理解 C# 中的异步流
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 17-理解 yield 关键字
![](https://blog-image.z2h.cn/1/b422cf48cf8cbe56b44f08c3e486f4f3.webp!w600h300)
仓储模式是否依然对 EF Core 有用?
![](https://blog-image.z2h.cn/1/612692b08e1c805c58b9c7fc4dd13a45.webp!w600h300)
.NET 6 RC2 版本发布
![](https://blog-image.z2h.cn/1/9c3831779f96780e9770119d0ca92b63.webp!w600h300)
由社区推动的 .NET 6 新 API
![](https://blog-image.z2h.cn/1/bff6c2ede32876f93d381ba43e429d0d.webp!w600h300)
.NET 6 预览版 7 发布,最后一个预览版
![](https://blog-image.z2h.cn/1/6f3a81647f3a0b970abba0b479aa9812.webp!w600h300)
基于 gRPC 和 .NET Core 的服务器流
![](https://blog-image.z2h.cn/1/dafe45c496f8644b780d7482553d7266.webp!w600h300)
C# 中的解构
![](https://blog-image.z2h.cn/1/e7aa09b9d2ab6e4a588a4fbafaa66f03.webp!w600h300)
五个 .NET 性能小贴士
![](https://blog-image.z2h.cn/1/4c5cea90d25cdbc6e0937004ddb0c5dd.webp!w600h300)
.NET 对象池的使用
![](https://blog-image.z2h.cn/1/4ed47a95e59be2385951dab8681e6850.webp!w600h300)
.NET 大牛之路 | 004 .NET 的现状和未来
![](https://blog-image.z2h.cn/1/4ed47a95e59be2385951dab8681e6850.webp!w600h300)
.NET 大牛之路 | 003 .NET 的发展历史
![](https://blog-image.z2h.cn/1/4ed47a95e59be2385951dab8681e6850.webp!w600h300)
.NET 大牛之路 | 001 .NET 其名
![](https://blog-image.z2h.cn/1/4ed47a95e59be2385951dab8681e6850.webp!w600h300)
.NET 大牛之路 | 002 什么是 .NET
![](https://blog-image.z2h.cn/0/4c77974dbcf579c1a3b44f749eb083fe.webp!w600h300)
.NET MAUI 预览版 5 发布
![](https://blog-image.z2h.cn/0/e37fc53dc8ea4a53b70939a369eb2f45.webp!w600h300)
深入 LINQ - 揭开 IQueryable 的面纱
![](https://blog-image.z2h.cn/0/d25ef8498ede6581b9dc261f08279feb.webp!w600h300)
.NET 6 Preview 4 中的 ASP.NET Core 更新
![](https://blog-image.z2h.cn/0/e37fc53dc8ea4a53b70939a369eb2f45.webp!w600h300)
深入 LINQ - 动态构建 LINQ 表达式
![](https://blog-image.z2h.cn/0/d25ef8498ede6581b9dc261f08279feb.webp!w600h300)
.NET 6 ASP.NET Core Preview 3 更新概要
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 16-几个常见的TAP异步操作
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 15-异步编程基础
![](https://blog-image.z2h.cn/0/1a32cec3bdbd85db278801524c557366.webp!w600h300)
ASP.NET Core 基于角色的 JWT 令牌
![](https://blog-image.z2h.cn/1/6ed777ed8f040c31deacf5ad15cbba10.webp!w600h300)
快速了解 JavaScript ES2019 的五个新增特性
![](https://blog-image.z2h.cn/0/1cb00f8b3207a4771175ac87b31eddf0.webp!w600h300)
Win10 Terminal + WSL 2 安装配置指南
![](https://blog-image.z2h.cn/0/1cd5efaf436ab8ab161812bf837a2074.webp!w600h300)
CSS 伪选择器 focus-within 介绍
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 14-使用结构体实现共用体
![](https://blog-image.z2h.cn/0/6d067734b93c7bee2ebdd04cef19769f.webp!w600h300)
基于 C# 的 ETL 大数据并行编程
![](https://blog-image.z2h.cn/0/ca88e41325d4a7d3db81089604538170.webp!w600h300)
深入解析 C# 的 String.Create 方法
![](https://blog-image.z2h.cn/0/404adfeefe73c2d6f098ea831475f3fa.webp!w600h300)
夏虫不可语冰
![](https://blog-image.z2h.cn/0/fe3b0bc232bbd0541991401a79a6843c.webp!w600h300)
内存泄漏的争议
![](https://blog-image.z2h.cn/0/acf829bcbb2212e276e7fdf45f79ac3a.webp!w600h300)
小心使用 Task.Run 解惑篇
![](https://blog-image.z2h.cn/0/287e9a1a9105f272127f3d39e0aa728e.webp!w600h300)
小心使用 Task.Run 续篇
![](https://blog-image.z2h.cn/0/ed2dddb2117ecb5f8898b7354919fc7a.webp!w600h300)
为什么使用 Task.Run 时要小心
![](https://blog-image.z2h.cn/0/90eb2cefb201e9dc444fd8f3dd9bbc0b.webp!w600h300)
Visual Studio 调试技巧之即时窗口的妙用
![](https://blog-image.z2h.cn/0/bc267cbd1203f7d6a39a7590b7efd15e.webp!w600h300)
审计系统的一剂良方——事件溯源
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 13-动态构建 LINQ 查询表达式
![](https://blog-image.z2h.cn/0/eeb5a89a690ae86c73770d88245eec1f.webp!w600h300)
用 CSS Grid 布局制作一个响应式柱状图
![](https://blog-image.z2h.cn/0/bb2edc31b58a9a49c953426b35826bc1.webp!w600h300)
再聊Blazor,它是否值得你花时间学习
![](https://blog-image.z2h.cn/0/c93660cf5b67e95be14c5d21c0f1189f.webp!w600h300)
使用 JavaScript 操作浏览器历史记录 API
![](https://blog-image.z2h.cn/0/0de71c86a20599223c9f278e7476245d.webp!w600h300)
使用 .NET 5 体验大数据和机器学习
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 12-死锁和活锁的发生及避免
![](https://blog-image.z2h.cn/0/04284676693e65a8096395c0da257a19.webp!w600h300)
如约而至,.NET 5.0 今天正式发布
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 11-你必须知道的线程基础知识
![](https://blog-image.z2h.cn/0/424b1d618966c3658b10cc4229a87b77.webp!w600h300)
使用 C# 9.0 新语法提升 if 语句美感
![](https://blog-image.z2h.cn/0/c93660cf5b67e95be14c5d21c0f1189f.webp!w600h300)
快速掌握 JavaScript ES 模块所有用法
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 10-理解 volatile 关键字
![](https://blog-image.z2h.cn/0/0ef05efbc37ba6dd27f4967afc1d5e4d.webp!w600h300)
.NET Standard 来日苦短去日长
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 09-数据标注与数据校验
![](https://blog-image.z2h.cn/0/6f32c1dc64e5a324191e9a2f43355bfd.webp!w600h300)
几个超级实用但很少人知道的 VS 技巧
![](https://blog-image.z2h.cn/0/40f43292d4ce57400a9dd1352cef46a6.webp!w600h300)
.NET 5 中 Target Framework 详解
![](https://blog-image.z2h.cn/0/04284676693e65a8096395c0da257a19.webp!w600h300)
.NET 5.0 RC1 发布,离正式版发布仅剩两个版本
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 08-强大的 LINQ
![](https://blog-image.z2h.cn/0/c93660cf5b67e95be14c5d21c0f1189f.webp!w600h300)
JavaScript 的 this 指向和绑定详解
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 07-迭代器和列举器
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 06-单例模式最佳实践
![](https://blog-image.z2h.cn/0/01802e9a03e090322ccdb66944eb627c.webp!w600h300)
深入理解 EF Core:使用查询过滤器实现数据软删除
![](https://blog-image.z2h.cn/0/7293c49d0bdfcc5fd16008c9bf413b1e.webp!w600h300)
.NET 开源项目 StreamJsonRpc 介绍[下篇]
![](https://blog-image.z2h.cn/0/7293c49d0bdfcc5fd16008c9bf413b1e.webp!w600h300)
.NET 开源项目 StreamJsonRpc 介绍[中篇]
![](https://blog-image.z2h.cn/0/7293c49d0bdfcc5fd16008c9bf413b1e.webp!w600h300)
.NET 开源项目 StreamJsonRpc 介绍[上篇]
![](https://blog-image.z2h.cn/0/424b1d618966c3658b10cc4229a87b77.webp!w600h300)
C# 9.0 新特性之 Lambda 弃元参数
![](https://blog-image.z2h.cn/0/53a15d4d13dc966aa92f51fa2b712b3f.webp!w600h300)
上了年纪的大多数程序员都转行了吗?
![](https://blog-image.z2h.cn/0/a34758d11e9239fbccdb2164a8016d0a.webp!w600h300)
快速了解 ASP.NET Core Blazor 新框架
![](https://blog-image.z2h.cn/0/424b1d618966c3658b10cc4229a87b77.webp!w600h300)
C# 9.0 新特性之只读属性和记录
![](https://blog-image.z2h.cn/0/5fe94ef53123c4fc9e27fae587bdd6bf.webp!w600h300)
深入理解 EF Core:EF Core 写入数据时发生了什么?
![](https://blog-image.z2h.cn/0/93de929b96030cecba95cc724d495107.webp!w600h300)
深入理解 EF Core:EF Core 读取数据时发生了什么?
![](https://blog-image.z2h.cn/0/3bd21963cf1c65f9a045c54a09762227.webp!w600h300)
关于订阅号改名,我想努力做个精致码农
![](https://blog-image.z2h.cn/0/424b1d618966c3658b10cc4229a87b77.webp!w600h300)
C# 9.0 新特性之目标类型推导 new 表达式
![](https://blog-image.z2h.cn/0/424b1d618966c3658b10cc4229a87b77.webp!w600h300)
C# 9.0 新特性之简化参数非空检查
![](https://blog-image.z2h.cn/0/424b1d618966c3658b10cc4229a87b77.webp!w600h300)
C# 9.0 新特性之模式匹配简化
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 05-操作符的几个骚操作
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 04-你必须知道的反射
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 03-你可能不知道的几种对象初始化方式
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 02-数组的几个小知识
![](https://blog-image.z2h.cn/static/dotnet-cover.png!w600h300)
C#.NET拾遗补漏 | 01-字符串操作
![](https://blog-image.z2h.cn/0/5786372072ec4d121b395f39236e1ca7.webp!w600h300)
如何训练解决问题的能力?
![](https://blog-image.z2h.cn/0/c93660cf5b67e95be14c5d21c0f1189f.webp!w600h300)
要小心 JavaScript 的事件代理
![](https://blog-image.z2h.cn/0/171ce44418e65216129175b4af88e348.webp!w600h300)
C# 枚举基础到高级使用技巧
![](https://blog-image.z2h.cn/0/dbd7e2f25decdfdf36875f9a2de183f6.webp!w600h300)
如何为 Form 表单的多个提交按钮指定不同的 Action 地址?
![](https://blog-image.z2h.cn/0/68dda8815648044174238cdd8eb44385.webp!w600h300)
你可能不知道的 7 个 HTML 小技巧
![](https://blog-image.z2h.cn/0/5518a7da6e9b853dec8fde51319a46db.webp!w600h300)
何谓编程语言中的头等对象?
![](https://blog-image.z2h.cn/0/85a3378654e766ff46f926af2aeed493.webp!w600h300)
保护 .NET Core 项目的敏感信息
![](https://blog-image.z2h.cn/0/e901e00d7192d9bab13f80a85d07422b.webp!w600h300)
什么是量子计算机?用一个简单例子来解释
![](https://blog-image.z2h.cn/0/4c814fcf82648a8d0f5a54e87a952e32.webp!w600h300)
使用 xUnit 编写 ASP.NET Core 单元测试
![](https://blog-image.z2h.cn/0/8fa3a677fa18b0a810ca37282cde8d7e.webp!w600h300)
用 C# 编写 C# 编译器?先有鸡还是先有蛋?
![](https://blog-image.z2h.cn/0/0377aeca3e38cd0f5f0a9a76fb2ef0e7.webp!w600h300)
微软是如何重写 C# 编译器并使它开源的
![](https://blog-image.z2h.cn/0/9cc5b04232eac729b5daf35e671a9f0e.webp!w600h300)
在 .NET Core 使用 HttpClientFactory 和 Polly(下)
![](https://blog-image.z2h.cn/0/9cc5b04232eac729b5daf35e671a9f0e.webp!w600h300)
在 .NET Core 使用 HttpClientFactory 和 Polly(中)
![](https://blog-image.z2h.cn/0/9cc5b04232eac729b5daf35e671a9f0e.webp!w600h300)
在 .NET Core 使用 HttpClientFactory 和 Polly(上)
![](https://blog-image.z2h.cn/0/14f15e301aab2cfd2295ac50d28c7278.webp!w600h300)
.NET 开源项目 Polly 介绍
![](https://blog-image.z2h.cn/0/e8a296fcfce43cc46abeaea57a9015f4.webp!w600h300)
通俗算法05 - 你真的了解线性表吗?
![](https://blog-image.z2h.cn/0/37a07d6f28c9300baa3ff34f1c4e42c5.webp!w600h300)
通俗算法04 - 算法相关的基础概念
![](https://blog-image.z2h.cn/0/8044fc4ee631db15a620f402df353582.webp!w600h300)
通俗算法03 - 人人都能懂的图灵机原理
![](https://blog-image.z2h.cn/0/5b03bba9311b0fb0d034a1e0a2efe0f7.webp!w600h300)
通俗算法02 - 从罗素悖论到图灵机
![](https://blog-image.z2h.cn/0/7168f42562a5cca860bc160b6bef174f.webp!w600h300)
通俗算法01 - 开篇
![](https://blog-image.z2h.cn/0/f47ce475369e6970dfcf984e9690c30b.webp!w600h300)
.NET Core 中正确使用 HttpClient 的姿势
![](https://blog-image.z2h.cn/0/5269d380a7091397195f4d47c97e35cc.webp!w600h300)
5年后、10年后,你想成为什么样的自己?
![](https://blog-image.z2h.cn/0/c0973ee935fe3afcbf28af2b9fae0f7d.webp!w600h300)