国内文章
WPF 使用 Shape 实现复杂线条动画
https://www.cnblogs.com/czwy/p/18192720
文章介绍了利用 WPF 的 Shape 和动画功能,模仿 CSS/SVG 实现复杂的线条光效动画效果。首先,通过 Polyline 和 StrokeDashArray 实现了虚线动画,再通过 StrokeDashOffset 添加动画效果。然而,由于 WPF 不支持角向渐变,作者另寻两种方法来实现渐变效果,一种是基于多条线段的动画,最后提到可以使用 Avalonia 的 ConicGradientBrush 实现角向渐变。文章展示了实现代码和效果,但还涉及到多条线段拐角处颜色连贯等细节问题。
C#.Net 筑基-模式匹配汇总
https://www.cnblogs.com/anding/p/18176056
从 C#7 开始支持的模式匹配可以灵活地对数据进行条件匹配和提取,已经包括多种匹配模式。这些模式包括类型和声明模式、常量模式、关系模式、逻辑模式、属性模式、列表模式和 var 模式,可以通过布尔逻辑词来组合使用。模式匹配增加编写代码的简便性,并提高代码清晰度。通过 https://sharplab.io/ 可以查看 C#编译后的代码。文章详细介绍了各种模式的使用方法和示例,包括类型和声明模式、常量模式、关系模式、逻辑模式、属性模式、位置模式等。
NETCore 中实现一个轻量无负担的极简任务调度 ScheduleTask
https://www.cnblogs.com/vipwan/p/18194062/biwen-quickapi-scheduletask
文章介绍了如何从零开始制作一个简易的任务调度器。重点包括定义了任务执行的接口和抽象类、通过特性标注任务执行周期等信息的元数据、定义调度器接口用以判断任务是否可执行,以及实现了基于配置文件的任务元数据存储。技术栈主要涉及 BackgroundService 和 NCrontab 库。
使用 c#强大的表达式树实现对象的深克隆之解决循环引用的问题
https://www.cnblogs.com/gmmy/p/18193549
本文探讨了在 C#中使用表达式树实现深克隆时遇到循环引用问题的解决方案。文章解释了循环引用的概念,并通过引入延迟策略和字典来跟踪对象引用,从而避免无限递归。核心思想是如果遇到先前已经创建的类型,则复用该对象,通过延迟赋值确保新对象能够正确复制原对象属性。
SQLServer 统计监控 SQL 执行计划突变的方法
https://www.cnblogs.com/tianqing/p/18188562
动态管理视图(DMVs)可用于监控 SQL Server 中的查询执行计划和性能统计。主要的 DMVs 包括 sys.dm_exec_query_stats 用于查询统计信息,sys.dm_exec_sql_text 用来获取 SQL 文本,sys.dm_exec_cached_plans 提供执行计划统计,以及 sys.dm_exec_query_plan 用于获取执行计划。通过定期运行查询,对比统计数据,可以检测执行计划的变化,并据此优化性能。为了准确监测,建议将数据记录在持久化表中,并可能需要结合多个 DMVs 来进行综合分析。
记一次 asp.net 8 服务器爆满的解决过程
https://www.cnblogs.com/kugar/p/18199022
服务器配置包括 2c4g 的 CentOS 作反代和 8c16g 的 Windows 2019 运行 IIS、SQL Server、MongoDB 和 Redis。面临的问题是晚间 MongoDB、SQL Server 和 WebAPI 进程 CPU 使用率暴增,导致数据处理不及时。问题源于新迁移的站点前端代码错误,创建多个定时获取数据的实例,造成自我 DDoS。通过业务流程优化、MongoDB 客户端设置调整、WebAPI 缓存、NGINX 限流和日志关闭等措施解决,效果明显,减少了 CPU 占用和数据处理时间。相关技术包括 ASP.NET Core 8, EasyCaching, FreeSql 和 Redis。
ASP.NET Core Web 中使用 AutoMapper 进行对象映射
https://www.cnblogs.com/Can-daydayup/p/18197033
在 ASP.NET Core Web 中,AutoMapper 库可以自动完成对象之间的映射,减少手动编写代码。这样做可以提高开发效率、减少错误和 bug,并简化代码结构。AutoMapper 是一个.NET 对象映射库,它的安装方法是通过 NuGet 包。你需要创建源对象和目标对象,并在映射配置文件中定义它们之间的映射规则。最终,在程序中通过依赖注入的方式使用 IMapper 接口来进行对象映射操作。
Dapr 与 .NET Aspire 结合使用获得无与伦比的本地开发体验
https://www.cnblogs.com/shanyou/p/18197134
Dapr 是一套帮助简化分布式系统开发的构建块集合,涵盖服务通信、缓存、工作流等领域。与.NET Aspire 结合使用可以优化本地开发体验,简化故障排除和调试过程,并且无需繁复的 YAML 配置。文章中以构建三个服务的示例来展示 Dapr 与.NET Aspire 的整合,并概述了利用.NET Aspire 进行 Dapr 实验的过程。文中提到的服务包括:Alice(ASP.NET Core 服务)、Bob(ASP.NET Core 服务)和 Carol(Node.js Express Web 应用程序)。这样的组合让开发者能够关注功能开发,减少设定环境的时间,并通过 OpenTelemetry 简化本地多应用交互的故障排除。
工业福利!用.NET 快速开发物联网扫码器设备的通用扫码功能
https://www.cnblogs.com/weskynet/p/18198774
文章介绍了一个用于快速实现多款扫码器通用扫码功能的方法,无论在.net framework 或.net core 等环境中均适用。首先须引入 Wesky.Net.OpenTools 包,在非依赖注入项目中可以直接创建对象使用,在.net core 及以上环境建议使用依赖注入,并实现了扫码器的连接和扫码功能。作者还建议存储扫码器客户端实例以保持长连接,并逐步展示了如何在.net 环境下注册依赖注入、实现扫码器服务和创建 API 控制器。文末提供了控制器代码示例。
一款基于 C#开发的通讯调试工具(支持 Modbus RTU、MQTT 调试)
https://www.cnblogs.com/Can-daydayup/p/18199342
大姚分享的 Wu.CommTool 通讯调试工具使用 C#、WPF 等技术开发,支持 Modbus RTU 和 MQTT 调试,界面色彩丰富。它具有自动解析数据帧、防粘包等特征。相关源码托管于 GitHub,并被 C#/.NET/.NET Core 优秀项目和框架精选收录,有助于开发者了解最新动态和最佳实践。DotNetGuide 技术社区提供.NET 开发者学习资料与技术交流,促进开发者成长。
初识上位机(下):C#读写 PLC 数据块数据
https://www.cnblogs.com/edisonchou/p/-/industrial-control-plc-connector-02
Edison 介绍了使用 C#创建 Windows Form 项目,通过 S7NetPlus 库连接西门子 S7-1500 PLC,并实现数据读写。文章涵盖了连接、断开 PLC,读取 PLC 数据块和 PLC 数据块写入等功能的实现。他首先复习了 PLC 模拟环境的搭建,然后详细讲解了如何使用 C#代码操作 PLC,针对字符串类型的数据处理也有详尽说明。此外,Edison 还提供了读写 PLC 中字符串类型数据的辅助类 S7DataWriter。
EDP .Net 开发框架--业务模型
https://www.cnblogs.com/alwaysinsist/p/18190582
EDP 平台通过业务模型管理功能来实现数据行视图与列属性的权限管控。业务模型是 EDP 平台核心,包含了数据的增删改查和权限控制。通过创建业务模型类并继承 ModelPermissionBase 类,我们可以定义和管理业务模型,从而管控数据行、列的权限。提供的代码示例展示了如何创建并设置一个学生业务对象,包括 SQL 查询设置和实体属性的定义。
Garnet:微软官方基于.NET 开源的高性能分布式缓存存储数据库
https://www.cnblogs.com/Can-daydayup/p/18194700
Redis 从 7.4 版本开始修改为 RSALv2 和 SSPLv1 协议,不再开源。微软研究院推出的 Garnet 项目是一款基于.NET 的分布式缓存数据库,开源且对 Redis 客户端完全兼容。Garnet 表现出更好的吞吐量、可扩展性和低延迟,在 Azure VM 上的测试中表现出色,且支持跨平台。性能测试对比 Redis、KeyDB 和 Dragonfly,显示 Garnet 在多客户端连接和请求处理上占优。项目源码和使用文档已开源在 GitHub,且被收录至 C#/.NET/.NET Core 优秀项目和框架精选。
.NET 实现获取 NTP 服务器时间并同步(附带 Windows 系统启用 NTP 服务功能)
https://www.cnblogs.com/weskynet/p/18194418
本文介绍了如何在 Windows 系统的远程服务器上启用和设置 NTP 服务,包括修改注册表中的设置、打开防火墙端口、重启 Windows 时间服务,及通过命令行验证。另外,介绍了使用 Wesky.Net.OpenTools 包在程序中进行时间同步的方法,并提供了获取 NTP 服务器时间的核心代码的详细解析。
.NET 使用 P/Invoke 来实现注册表的增、删、改、查功能
https://www.cnblogs.com/weskynet/p/18191869
文章介绍了使用 Wesky.Net.OpenTools 包对 Windows 注册表进行操作的方法,包括创建、设置、读取、删除注册表值和注册表项的操作。代码演示了如何通过 IRegistryManager 接口完成以上各种操作,及其对应的内核源码部分,其中包括了对 Windows API 函数的调用。
IceRPC 之传入响应和拦截器->快乐的 RPC
https://www.cnblogs.com/xlgwr/p/18195207
本文介绍了.Net 8.0 中 IceRPC 的传入响应处理和拦截器。传入响应包含状态代码、错误消息、响应字段和有效负载。拦截器可以在发送请求前后进行数据处理,并可实现调用链短路。文章展示了 C#中如何编写和安装拦截器,通过调用管道把拦截器串联起来,以便对请求和响应进行处理。作者在结语中鼓励持续实践以提高能力,并开放性地邀请读者交流。
Mono 支持 LoongArch 架构
https://www.cnblogs.com/shanyou/p/18199037
著名的.NET 开源社区 Mono 增加了对 LoongArch(龙架构)的支持,.NET 社区主干分支已出现 LoongArch64 架构。Mono 框架是跨平台的,支持 Linux、macOS、Windows 等操作系统,包含 C#编译器、.NET 运行环境和类库。LoongArch 架构得到支持后,.NET 软件生态能原生移植到 LoongArch64 平台。龙芯.NET 团队的 Mono 已通过多个应用程序测试,包括 unity3D。龙芯公司为龙芯版本.NET 提供安全更新和性能优化,发布了基于 LoongArch64 的 Mono6.13.0-1,增强了稳定性,并修复了多个 bug。
Advanced .Net Debugging 8:线程同步
https://www.cnblogs.com/PatrickLiu/p/18155084
这篇文章是关于《Advanced .Net Debugging》系列中介绍多线程同步问题的一部分,内容涉及多线程应用程序常见问题的解决方法、线程同步组件及原理,以及多线程环境下的最佳实践。文章包含了具体的调试工具和环境设置说明,如使用 Windows 10 操作系统、Windbg Preview 和 NTSD 调试工具,以及.Net 8.0 环境。作者还提供了目录结构以方便读者查看,并举例了一些同步原语的代码,如事件同步原语、互斥体、信号量、监视器、读写锁和线程池等,并介绍了调试源码。
Visual Studio 中的四款代码格式化工具
https://www.cnblogs.com/Can-daydayup/p/18188418
大姚在 Visual Studio 中推荐了四款代码格式化工具和扩展插件,包括 ReSharper、CSharpier、CodeMaid VS2022、XAML Styler 等,这些都能自动化并优化代码布局和风格,提高代码的可读性。这些工具支持多种语言如 C#、XAML、ASP.NET 等,并且可以通过 Visual Studio 的扩展商店下载。另外,介绍了 DotNetGuide 技术社区,一个针对.NET 开发者的交流和学习平台。
.NET ASPIRE 预览版 7 发布
https://www.cnblogs.com/shanyou/p/18196813
.NET Aspire 预览版 7 包含大量 API 更改,致力于确保最终发布前的 API 稳定性,版本号为 8.0.0-preview.7.24251.11。更改内容涉及属性重命名、类重构、方法签名修改等,旨在提升一致性和易用性。Azure Service Bus 等组件的属性名称更新以更清晰表达其含义。仪表板更新增强了视觉效果和多语言支持,容器镜像默认设置现在包含更完整的注册中心和标签信息。GitHub 发布页面详细展示了 API 更新、ASP.NET Core 升级、OpenTelemetry HTTP 监测包更新、Docker 镜像标签更新、组件服务修复改进等内容。此外,文档和测试也得到了增强,目的在于改善性能、稳定性和用户体验。
ASP.NET Core 如何禁用模型验证(或者从模型状态中移除某些属性)?
https://www.cnblogs.com/sanshi/p/18194672
本文讨论在 ASP.NET Core 项目中,如何在不需要验证特定模型属性的情况下处理文件上传。文章从一个实际案例出发,展示了一个模型验证导致的错误,并解决了这个问题。方法是在对应的处理器(Handler)中使用 ModelState.Clear()清空模型状态。作者还进一步探讨了如何移除模型状态中的某些属性,给出了修改模型状态的思路和示例。
C#实现图片转 Base64 字符串.并支持 markdown 文件打开展示
https://www.cnblogs.com/weskynet/p/18188836
Wesky.Net.OpenTools 1.0.3 版提供了图片转 Base64 字符串的功能,能够自动识别图片后缀名,并转换成标准 URI 供 Markdown 使用。用户只需将转换得到的 Base64 字符串以 Markdown 格式添加到文本中,即可在支持 Markdown 的编辑器如 Typora 里展示图片。此功能支持多种图片格式,如 bmp、gif、jpg、png 等。
ASP.NET Core 的全局拦截器(在页面回发时,如果判断当前请求不合法,不执行 OnPost 处理器)
https://www.cnblogs.com/sanshi/p/18193981
ASP.NET Core RazorPages 中可以在 BaseModel 基类中重载 OnPageHandlerExecuting 方法来对回发请求进行身份验证和操作中断。BaseModel 继承自 PageModel,通过检查请求数据或 Cookie 来确定访问的有效性,无效访问将弹出错误提示,并中断页面加载和回发事件。此外,开发者还可以使用 AppBoxCore.Dapper 中的 CheckPowerAttribute 过滤器对某些页面进行权限验证,实现更加细致和工程化的权限控制。
C#特性
https://www.cnblogs.com/chi8708/p/18200266
C# 特性是向代码元素添加元数据的一种方法,增强了代码的信息量和灵活性。定义特性类时可以指定其使用场合和是否允许多次应用。间通过反射获取特性信息。特性可以用在多种场景如数据验证、序列化控制、提供描述性元数据、实现依赖注入、单元测试、权限控制和面向切面编程等,对现代 C#编程具有重要意义。
EAV 模型(实体-属性-值)的设计和低代码的处理方案(2)--数据的查询处理
https://www.cnblogs.com/wuhuacong/p/18193612
本文进一步分析了 EAV 模型设计和其在 Winform 场景下的低代码实现。文章讨论了列表界面的重要性,并指出固定字段的界面虽然查询快速、个性化,但需要单独处理。提出了利用 EAV 模型,通过动态定义的业务表和字段,使用通用窗体来演化界面。此外,文章介绍了动态创建输入控件组以处理不同数据类型的查询字段,使用堆叠面板(StackPanel)以适应控件组的界面长度变化。还探讨了自定义条件查询,通过用户控件实现多条件组合查询,展现了界面效果。文章展示了相关代码段,提供了一系列的界面和控件处理方法。
基于 webapi 的 websocket 聊天室(四)
https://www.cnblogs.com/ggtc/p/18190128
本文介绍了在 WebSocket 基础上实现文件和图片传输功能的方法。主要讨论了文件传输的二种方案:先发送元数据再发送文件数据,和定义协议打包元数据与文件数据一起发送。文章定义了 RCP 传输协议和相应对象结构,详述了不同类型消息(普通消息、文件、链接、图片)的数据格式,以及 RCP 在程序中的实体表示和序列化、反序列化方法。
NETCore 中实现一个轻量无负担的极简任务调度 ScheduleTask
https://www.cnblogs.com/vipwan/p/18194062
文章介绍了如何从零开始制作一个简易的任务调度系统。首先定义了任务执行的接口和抽象类,然后通过特性标注任务执行周期等信息。接下来定义了调度器接口以判断任务是否可执行。最后,如果需要实现可配置的任务调度或动态任务调度,还需定义一个存储所有任务元数据的 Store,并实现了一个依赖于配置的 Store。
C# 程序集、模块和类型概念及关系
https://www.cnblogs.com/chi8708/p/18196692
在 C#中,程序集是包含类型和资源的单位,既可是 EXE 也可以是 DLL。模块对应于源文件,包含类型、IL 和元数据。类型是包含字段、属性、方法等的代码结构。程序集包含模块,模块包含类型,类型属于单个模块。这些元素共同构成完整的.NET 应用程序。
C#泛型
https://www.cnblogs.com/chi8708/p/18194254
C#泛型是提高代码重用性、类型安全性、性能的编程范式,通过类型参数实现与任意数据类型一起工作的类、方法、接口和委托。泛型的基本语法包括泛型方法与类的定义及实例化,泛型接口、委托的声明和泛型约束的使用。泛型在集合类、数据结构、算法、数据库操作和网络编程等多个场景下都有广泛应用。
Asp-Net-Core 开发笔记:使用 ActionFilterAttribute 实现非侵入式的参数校验
https://www.cnblogs.com/deali/p/18198867
本文围绕 ASP.NET Core 中利用 ActionFilterAttribute 实现面向切面编程(AOP)的自定义验证功能展开,详细介绍了创建 ValidateClientAttribute 以验证客户端 ID 的过程。文章首先提出了提高 API 安全性的重要性,然后通过详细的代码示例说明了如何从不同的源(查询参数、请求体、路由参数、请求头)获取客户端 ID,并在数据库中进行验证。文章还解释了如何使用 HttpContext 的 Items 集合在不同组件间共享验证后的 Client 对象,同时指出 HttpContext 的作用和重要性。
C#应用的欢迎界面窗体方案 - 开源研究系列文章
https://www.cnblogs.com/lzhdim/p/18170822
作者整理了代码,改善了应用的欢迎界面窗体,创建成一个通用型类库,方便读者在自己项目中使用。提到指导如何利用进度文本显示应用加载进度,并且可设定为自动关闭。也提供了项目目录、源码介绍、运行界面的说明,以及源码下载链接,给出了使用欢迎界面的其他建议。
IceRPC 之调用管道 Invocation pipeline 与传出请求 Outgoing request->快乐的 RPC
https://www.cnblogs.com/xlgwr/p/18192640
本文介绍了.Net 8.0 中 IceRPC 的调用管道和传出请求的概念。调用管道是指通过调用器(Invoker)来发送请求和接收相应响应的整个过程。其中,IInvoker 接口负责发起调用,并对请求进行如添加遥测字段、压缩等额外处理。调用管道有三种常见的类型:Leaf invoker、Interceptor 和 Pipeline。创建一个传出请求需要目标服务地址、操作名称、请求字段和有效负载等信息,其中请求字段和有效负载对管道内通信至关重要。文章还展示了序列图来解释请求有效负载的发送过程。
【OpenVINO™】在 C# 中使用 OpenVINO™ 部署 PP-YOLOE 实现物体检测
https://www.cnblogs.com/guojin-blogs/p/18188742
OpenVINO™ C# API 是 OpenVINO™ 库的一个.Net 包装器,支持在.NET 和.NET Framework 下使用 C#进行深度学习模型推理加速。它与 OpenVINO™ C API 用法一致,并且可以方便地部署在不同硬件上。该 API 及相关项目示例代码可以在 GitHub 上获取,项目通过 NuGet Package 管理依赖。文章展示了如何使用 OpenVINO™ C# API 搭配 PP-YOLOE 模型进行对象检测,并具体介绍了依赖安装、项目输出细节。
UnityShader 数学基础篇
https://www.cnblogs.com/feng-Ling/p/18146805
Math 是 C#的数学计算工具类,包含于 System 命名空间;Mathf 是 Unity 中的数学计算结构体,包含于 UnityEngine 命名空间。常用 Mathf 方法包括计算圆周率 PI、绝对值 Abs、上舍入 CeilToInt、下舍入 FloorToInt、值钳制 Clamp、最大值 Max、最小值 Min、n 次幂 Pow、四舍五入 RoundToInt、平方根 Sqrt、判断 2 的 n 次幂 IsPowerOfTwo、判断正负数 Sign、插值运算 Lerp、三角函数和转换以及坐标系的应用。
主题
发布 v8.0.3 · npgsql/npgsql
https://github.com/npgsql/npgsql/releases/tag/v8.0.3
- 发布 v7.0.7·npgsql/npgsql
- 发布 v6.0.11·npgsql/npgsql
- 发布 v5.0.18·npgsql/npgsql
- 发布 v4.1.13·npgsql/npgsql
- 发布 v4.0.14 · npgsql/npgsql
.NET 和 .NET Framework 2024 年 5 月服务更新 - .NET 博客
https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-may-2024-servicing-updates/
发布 Windows App SDK 1.4.6 (1.4.240512000) · microsoft/WindowsAppSDK
https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.4.6
Entity Framework Core 的 MongoDB 提供程序现已全面可用 | MongoDB 博客
https://www.mongodb.com/blog/post/mongodb-provider-entity-framework-core-now-generally-available
ReSharper 2024.1.2 可供下载 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/05/07/resharper-2024-1-2/
Rider 2024.1.2 现已推出! | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/05/07/rider-2024-1-2/
在 C# 开发工具包中宣布 NuGet 命令 - NuGet 博客
https://devblogs.microsoft.com/nuget/announcing-nuget-commands-in-c-dev-kit/
C# 开发工具包引入包管理和改进的 .NET Aspire 支持 - .NET 博客
https://devblogs.microsoft.com/dotnet/may-release-of-csharp-dev-kit/
版本 8.4.0 · App-vNext/Polly
https://github.com/App-vNext/Polly/releases/tag/8.4.0
发布 v6.6.1 ·domaindrivendev/Swashbuckle.AspNetCore
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.6.1
为 Build 2024 的 Visual Studio 做好准备:加入数千人在线活动! - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/visual-studio-at-build-2024/
Entity Framework 6.5 Classic 中的新增功能
https://erikej.github.io/ef6/dotnet/2024/05/16/ef6-whatsnew.html
Orleans 8 中针对可扩展分布式应用程序的新增功能 - .NET 博客
https://devblogs.microsoft.com/dotnet/whats-new-in-orleans-8/
.NET Aspire 预览版 7 - .NET Aspire
https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/preview-7
v1.11.0 | Meadow v1.* 发布 |荒野实验室开发者门户
https://developer.wildernesslabs.co/Meadow/Release_Notes/v1/#v1110
文章
可空引用类型与 EF Core Code First - Qiita
https://qiita.com/SurferOnWww/items/67d8e8d86234ac138445
.NET 通用数学库 - NDepend 博客
https://blog.ndepend.com/dotnet-generic-math/
Stephen Toub 的完整 .NET 开发人员指南 - YouTube
https://www.youtube.com/watch?v=5KdICNWOfEQ&list=PLdo4fOcmZ0oX8eqDkSw4hH9cSehrGgdr1&index=5
用 NET8 的 Blazor 制作 WASM API 的项目
https://zenn.dev/microsoft/articles/aspnetcore-blazor-dotnet8-wasm-with-apis
在 Visual Studio 中使用 GitHub Copilot 提高代码质量 - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/improve-your-code-quality-with-github-copilot-in-visual-studio/
关于基于 C#的开源 CMS“Orchard Core”
https://zenn.dev/zead/articles/f604f9ad31f941
在 Visual Studio 中使用 GitHub Copilot 掌握斜杠命令 - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/mastering-slash-commands-with-github-copilot-in-visual-studio/
[C#] 使用扩展方法尽可能消除基于类型的 switch 和 if 判断 - Qiita
https://qiita.com/toRisouP/items/12afeb98a0971095d409
Azure Toolkit for Rider v4.0 预览版 - 请求反馈 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/05/14/azure-toolkit-for-rider-v4-0-preview-request-for-feedback/
C#12 中主构造函数简介
https://andrewlock.net/an-introduction-to-primary-constructors-in-csharp-12/
用 C#自动测试(剧作家)环境搭建~测试执行流程-Qiita
https://qiita.com/noritama08/items/ed3f79e7feb061e36774
使用 ConfigureAwait 避免死锁 - Qiita
https://qiita.com/SurferOnWww/items/2dd628101923419cc44a
与 await 和 Task.Result 发生死锁 - Qiita
https://qiita.com/SurferOnWww/items/bd4e483cce7acaee4f30
异步编程 - Qiita
https://qiita.com/SurferOnWww/items/06dc1e3df702596272ba
ASP.NET Core、SSR Web 组件和增强 Wasm
https://khalidabuhakmeh.com/aspnet-core-ssr-web-components-and-enhance-wasm
本地化 .NET 控制台或桌面应用程序
https://blog.axantum.com/2024/05/localizing-net-console-or-desktop.html?m=1
将 Nuxt3 构建为静态文件并在 .NET Core 中显示
https://zenn.dev/yorimichi/articles/initial_csharp_nuxt3
readonly 会让你的代码更快吗?
https://steven-giesel.com/blogPost/50b84029-4f1e-4e6d-8fd1-0311b0605562
在 Blazor 中从 JavaScript 调用 .NET 动态(实例)方法 - Qiita
https://qiita.com/yaju/items/44b207477d1cb1c81bfb
使用 Azure OpenAI 服务将代码从 VB 转换为 C
https://zenn.dev/microsoft/articles/convert-vb-to-cs
领先于游戏:使用 .NET Aspire 和 Aspir8 Preview 7 探索 Helm 功能
https://medium.com/@josephsims1/ahead-of-the-game-exploring-helm-features-with-net-aspire-aspir8-preview-7-d327ade09b91
C# 区分联合:是什么驱动了 C# 社区的关注? - NDepend 博客
https://blog.ndepend.com/csharp-discriminated-union/
加入 Microsoft Build 2024 的 .NET 团队 - .NET 博客
https://devblogs.microsoft.com/dotnet/join-the-dotnet-team-microsoft-build-2024/
[NXUI] C# 中的单行跨平台桌面应用程序 [AvaloniaUI]
https://zenn.dev/inuinu/articles/528550aab764e8
使用 C# 集合表达式重构代码 - .NET 博客
https://devblogs.microsoft.com/dotnet/refactor-your-code-with-collection-expressions/
使用 WinDbg 诊断 .NET 应用程序中的内存泄漏:实践方法
https://levelup.gitconnected.com/diagnose-memory-leaks-in-net-applications-with-windbg-a-hands-on-approach-f41986f69967
使用 Blazor QuickGrid 快速创建丰富的表格 - Qiita
https://qiita.com/higege-amdeker/items/8150dcefe5d891a20c53
使用 GitHub Copilot 作为您的编码 GPS - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/using-github-copilot-as-your-coding-gps/
dotInsights | 2024 年 5 月 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/05/06/dotinsights-may-2024/
使用 Dapper 多重映射生成多对多关系
https://zenn.dev/tetr4lab/articles/35cd18af364499
搜索可在 C# 中使用的 1ms 定时器 - Qiita
https://qiita.com/qiitatosh/items/cc88e398be26e00fafe0
Adventures 序列化 C# 中的所有内容 – isadora
https://isadorasophia.com/articles/serialization/
如何使用 MVVM 工具包
https://zenn.dev/maedan/articles/c691e858e3fa44
如何在语义内核中连接 Phi-3 Mini ONNX 模型
https://towardsdev.com/how-to-connect-phi-3-mini-onnx-model-in-semantic-kernel-fc96b758129f
如何在带有 AArch64 (arm64) 的 Linux 上使用 Selenium(C# 版本) - Qiita
https://qiita.com/noobow/items/52ed93726b757e2a3dbc
[OCI] 尝试使用 .NET SDK 将数据发送到 OCI Streaming - Qiita
https://qiita.com/atwits/items/f23283cc58ee2a24a79e
在 Maui Blazor 上使用 Razor ClassLib 将组件与项目分离 - Neko 的博客
https://www.neko3cs.net/entry/separate-component-to-project-maui-blazor
幻灯片
Blazor WASM × 代码优先 从 gRPC 开始 C# 大统一理论
https://speakerdeck.com/sansantech/sansan-20240515-2
.NET GraphQL 客户端现实
https://speakerdeck.com/sansantech/sansan-20240515-1