- 博客(1054)
- 资源 (12)
- 收藏
- 关注
转载 一款基于 .NET 开源、功能强大的 Windows 搜索工具
dnGrep 是一款基于 .NET 开源、功能强大的 Windows 搜索工具,它支持在多个文件中进行搜索,并以易于阅读的结果呈现。该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。学习是一个永无止境的过程,你知道的越多,你不知道的也会越多,在有限的时间内坚持每天多学一点,你一定能成为你想要成为的那个人。:在日志文件或配置文件中搜索错误信息或特定配置项。
2025-08-27 08:00:57
3
转载 美丽而脆弱的天体运动:当C#遇见宇宙混沌
从和谐的日地月系统,到美丽而脆弱的三体环舞,再到最终不可避免的混沌结局,我们通过代码管中窥豹,领略了宇宙法则的两个侧面:它可以创造出令人赞叹的秩序,也可以在瞬间将一切归于混乱。除了我们熟悉的这种主星-行星-卫星模型,宇宙中还存在着更令人着迷的结构,比如刘慈欣《三体》中提到的,也是困扰了无数物理学家和数学家的“三体问题”。当然,三体运动的可能性远不止于此。「地球的轨道并非一个完美的椭圆,它在月球引力的作用下,会产生轻微的、周期性的摆动」这样高精度的求解器,但计算过程中累积的微小误差,足以打破这种脆弱的平衡。
2025-08-26 08:00:43
6
转载 使用 C# 实现高性能异步锁的进阶
的旧版实现.其设计充分考虑了高并发场景的需求,适合现代 .NET 应用程序.本文通过深入分析关键技术和实现原理,帮助开发者理解异步锁的底层机制,并提供了实用的使用方式和最佳实践.希望您能将这些知识应用于实际项目,构建更高效的并发系统.在现代 .NET 应用程序中,异步编程是提升性能和可扩展性的核心技术.异步锁作为确保并发环境中共享资源安全访问的关键机制,在高并发场景(如 ASP.NET Core 或实时数据处理系统)中尤为重要.传统的同步锁(如。
2025-08-25 08:00:45
6
转载 分布式服务中的链式日志跟踪基础——理解和使用 DiagnosticSource 和 DiagnosticListener
想要让方法可以订阅消息,需要在方法上声明DiagnosticName,然后名称就是你要订阅消息的名称,而方法的参数就是你发布消息的字段属性名称,这里需要注意的是订阅的参数名称需要和发布声明属性名称一致。上述代码未隔离订阅者到另外的程序集,如果隔离开,那么需要我们实现两步,首先为发布者注册订阅者,然后获取订阅者获取发布的消息,听起来就不简单。遗憾的是,即使是更新后的。实现订阅者类,然后通过一系列复杂的操作,才能完成消息订阅,然后还要自己获取发布的消息,解析具体的消息值,总之操作流程非常繁琐。
2025-08-22 08:01:31
11
转载 AI应用开发的三个挑战
,但用户通过MCP Host与MCP Server交互时,需要LLM理解用户的请求,然后结合tool的描述,判断该请求应该“路由”给哪一个工具,之后,才会调用该工具执行相关的任务,执行完毕后,又要由LLM结合返回的结果生成用户希望看到的回答。AI的这种不确定性特征,也带来了软件测试模式的改变,即针对AI功能,不再纠结于结果的重复正确性,而是确定一个测评阈值,通过评估(evaluating)方式对功能进行测评,只要达到事先确定的测评阈值,就可认为该功能是可接受的。或者说,是否期望接受开放性的结果?
2025-08-20 08:00:20
18
转载 转载 | 你以为的C#转工控会写代码就够?No!
弱电系统就像工控设备的神经网络,招聘里说的"RS232/RS485通讯"、"网络编程"这些技能,本质上都是和弱电系统打交道。"你看,会编程的工控工程师,能把产线变成"智能玩具",而不会编程的只能当"设备保姆"。这三板斧抡好了,你就能从"调参侠"进化成"产线医生",拿着扳手改代码,戴着安全帽debug,这才是工控人最飒的姿态!在这个机器比人多的行业,既要能跟计算机对话(编程),又要懂设备"语言"(弱电),还得会保护自己(电工证)左手C#代码,右手弱电图纸,兜里揣着低压电工证,才是工控人的标准三件套。
2025-08-19 08:03:29
16
转载 .NET程序员从互联网转工控的血泪史
以前写电商秒杀系统时,满脑子都是「高并发」「分布式」「快速迭代」,转工控后第一次听到产线老师傅说"这机器三年没重启过",CPU直接烧了。最后送各位转行勇士一句话:在工控界,能稳定运行十年的代码才是真大佬,什么高并发架构在这都是弟弟。某次catch了IO异常却忘了复位设备状态,导致自动产线深夜表演"僵尸起舞",保安差点报警。用Git给PLC程序做分支,结果现场工程师用U盘覆盖了半个月代码...现在所有设备都挂着“禁止乱插U盘”的警告。
2025-08-18 08:01:23
20
转载 编写公共类库的第一原则:管好你的 public
所谓“私货”,指的是在公开的、供他人使用的代码库(尤其是基础库)中,添加一些与库的核心目标无关,或者带有浓厚个人色彩、非通用性的功能。这个看似简单的告诫,背后却隐藏着区分一个库是健壮、优雅,还是混乱、脆弱的关键。它不仅关乎代码的可读性与可维护性,更直接决定了你的库能否在不断迭代中保持稳定,赢得用户的信赖。这种做法,短期内或许能为自己或少数人带来便利,但长远来看,它会像温水煮青蛙一样,逐渐侵蚀你代码库的纯洁性和健壮性。给代码“解毒”,保持公共API的纯净和专注,是一个优秀开发者的必备素养。
2025-08-08 08:01:30
43
转载 MinHook 如何对 .NET 母体 CoreCLR 进行拦截
这个问题我最近也在考虑,毕竟我写过如何用 harmony 拦截 .net sdk ,用 minhook 拦截 win32api,唯独这一块没有跟大家聊,虽然 eventpipe 给 coreclr 开了很多的日志口子,但怎么说呢?中,很显然这是代码中没用 using 及时释放引发的,而这块代码又是第三方组件,你想加也加不了,所以提出了一个设想:能不能设法干预 终结器队列的 freachable 节段,让里面的对象提前释放,而不是等待不稳定的终结器线程来兜底。下是一枚核武的存在,相信这篇文章也给这家。
2025-08-06 08:01:47
23
转载 使用 ScottPlot 在 .NET WinForms 中快速实现大型数据集的交互式显示!
当然这里不仅仅只有C#/.NET/.NET Core还有前端、云原生(Docker,K8s)、分布式,微服务、实用工具、学习书籍、AIGC、AI赋能、求职和招聘资讯、热点资讯等多个领域,我们致力于构建一个积极向上、和谐友善的.NET技术交流、学习平台。该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。ScottPlot类库支持平台和框架。让优秀的项目和框架不被埋没🤞。
2025-08-05 08:00:20
102
转载 网络安全:使用.NET 检测网络下载文件及其来源
通过 .NET 的数据流访问功能,我们可以轻松地获取和解析 Zone.Identifier 数据流,从而实现对文件来源的有效监控和管理。在特殊的软件使用场景中,可以有效的识别打开的文件是否来自网络下载,并进行相应的安全处理。部分软件,如 Word 或我们开发人员常用的 Visual Studio,可能会在打开这些文件时都会检查这个标记,并在文件属性中显示相关信息,进行适当的安全提示。以下是一个完整的 .NET 实现代码示例,用于检测文件是否来自网络下载,并读取其 Zone.Identifier 数据流。
2025-08-04 08:00:23
36
转载 .NET 9中的Guid7支持:彻底解决索引碎片问题
仔细观察会发现,Version 7 Guid的前半部分保持连续,这正是解决索引碎片的关键!生成的版本4 Guid)是完全随机的,当新记录插入到索引中间位置时,会导致频繁的。实现,但这又将解决方案锁定在Windows平台,违背了.NET跨平台的核心理念。在数据库设计中,使用Guid作为主键或索引字段时,一个令人头痛的问题是。.NET 9的革命性方案:Guid Version 7。.NET 9中的Guid7支持:彻底解决索引碎片问题。.NET 9中的Guid7支持:彻底解决索引碎片问题。
2025-08-01 08:00:20
35
转载 告别 HttpClient 痛点:深入解析 .NET HttpClientFactory 的设计与最佳实践
HttpClient 实例被视为瞬态(Transient)对象,而 HttpMessageHandler 实例则具有自己的作用域(Scoped),独立于应用程序的作用域(如 ASP.NET 请求作用域)。:每次创建新的 HttpClient 实例时,会创建一个新的 HttpClientHandler,导致新的套接字连接。:如果使用单一的长期运行 HttpClient 实例,底层的 HttpMessageHandler 不会重新解析 DNS,可能导致请求失败,尤其是在微服务架构中,服务地址可能动态变化。
2025-07-29 08:01:00
43
转载 从 Redis 客户端超时到 .NET 线程池挑战:饥饿、窃取与阻塞的全景解析
通过多次排查和优化,我发现这些问题的根源大多指向 .NET 的线程池(ThreadPool)管理机制,包括线程饥饿(thread starvation)、线程窃取(thread theft)和线程池阻塞等现象。本文将从 StackExchange.Redis 的超时问题入手,逐步深入探讨这些线程池相关的挑战,提供详细的分析、代码示例和优化建议。在我的项目中,一个典型的场景是:在高并发请求下,应用突然出现批量超时。进一步检查日志,发现线程池的忙碌线程数激增,这让我意识到需要深入了解 .NET 的线程池管理。
2025-07-28 08:01:25
30
转载 关于大模型工程化,你可能想错了这三件事
这些小错误,对于需要严格校验的程序来说,都是致命的。大模型的设计初衷是为了生成连贯、自然的语言,而不是进行数据库级别的精确、无遗漏的信息提取。这是因为大模型的本质是基于概率生成文本,它是在预测下一个最有可能出现的字符(Token),而不是在执行逻辑运算。“只要我给大模型足够好的提示词,它就一定能完美遵循我的所有指令”,这是另一个普遍存在的幻想。正确地理解大模型的能力边界,合理地设定期望,将它与现有工具链有机结合,我们才能真正驾驭好这个强大的“外脑”,在工程项目中创造出实实在在的价值。
2025-07-25 08:00:53
29
转载 .NET 9中的Base64 URL编码
(在我的Windows 11 24H2,AMD R7 5800X,DDR4 3200Mhz的平台上测试,优化已经打开)在构建现代Web应用时,我们经常需要在URL中安全传输二进制数据。本文将探讨.NET 9引入的全新。这种优化使编码结果可直接嵌入URL路径或查询参数,无需额外URL编码处理。随着.NET 9的正式发布,推荐所有需要URL安全编码的场景切换到新的。在.NET 9之前,开发者通常使用ASP.NET Core的。.NET 9中的Base64 URL编码。.NET 9中的Base64 URL编码。
2025-07-23 08:01:46
46
转载 推荐 5 款实用的 Docker 可视化管理工具,工作效率翻倍!
当然这里不仅仅只有C#/.NET/.NET Core还有前端、云原生(Docker,K8s)、分布式,微服务、实用工具、学习书籍、AIGC、AI赋能、求职和招聘资讯、热点资讯等多个领域,我们致力于构建一个积极向上、和谐友善的.NET技术交流、学习平台。面板以容器的方式运行,不需要特权,对宿主机没有依赖及侵入,安全可靠。Docker 是一个开源的应用容器引擎,基于 Golang 语言开发,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 服务器。
2025-07-22 08:01:31
154
转载 被C long坑过吗?这个.NET 6新功能解决跨平台对齐难题
是32位类型,而在Linux平台上则摇身变为64位类型(在64位系统中)。这种看似微小的差异,却可能在跨平台开发中埋下深坑。类型,而你的.NET代码需要在不同平台上运行,很可能会因为类型不匹配而引发难以追踪的运行时错误。long long——在Windows上是32位,而在Linux上却是64位(在64位系统中)。这些类型的引入标志着.NET在跨平台开发领域的重要进步,使开发者能更专注于业务逻辑而非底层差异。确保结构体在不同平台上保持相同的内存布局,同时免除了手动处理平台差异的烦恼。被C long坑过吗?
2025-07-21 08:00:49
33
转载 .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
这一变革支撑了.NET在微服务、云原生、异步并发等新主流场景下的顶级运行时表现。• 采用Windows的Structured Exception Handling (SEH),异常抛出后,OS内核统一回溯堆栈、查找/触发catch和finally,且需要“双遍遍历”栈帧(第一次查catch、第二次触发catch/finally,源数据由Windows维护)• 采用C++异常,异常抛出后靠libgcc/libunwind的_C++机制回溯托管栈,但需“桥接”托管/本地的边界,异常对象需反复。
2025-07-18 08:00:30
31
转载 别再靠自驱力了,我决定“聘请”一个AI当我项目经理
它将那些模糊不清的“我应该做......”变成了清晰具体的“我们接下来做......”,把孤独的个人奋斗,变成了一场有伙伴、有策略、有反馈的双人游戏。“嘿,小周,咱们制定的迁移RHEL.8计划已经逾期3天了,根据估算,这个模块只需要1天就能完成,为什么还没有完成?它甚至能通过我的语言,判断我当前的情绪,并调整沟通策略。它可以连接我的日历、代码仓库、笔记应用,通过分析我的工作习惯,洞察我的效率高峰与分心时段,为我量身定制最合理的工作流。的,像一个忠实的记事本,不会主动交互,更无法理解你的状态。
2025-07-16 08:01:05
32
转载 C#中的9个“黑魔法”与“骚操作”
语言功能,是编译器写死的东西(“黑魔法”),还是可以扩展(骚操作)的“鸭子类型”。的“黑魔法”确实挺多,但“鸭子类型”也有很多,“骚操作”的“操作空间”很大。是非常先进的语言,因为是它很有远见的“语法糖”。但释放资源的需求依然存在,怎么办,“鸭子类型”来了,可以手写一个。有“黑魔法”,也有“鸭子类型”——存在操作空间。的,可以用如下“骚操作”,来实现一个单线程的。是“黑魔法”,没有“操作空间”,只有当类型是。,到时候“操作空间”肯定比现在更大,非常期待!但它同时也是“鸭子”类型,只要代码中实现了。
2025-07-15 08:00:46
49
转载 做好毫秒级的C#执行器要考虑哪些因素?
它们并不会使用 Docker Compose 来启动,因为 docker compose 只有有限的几个 Docker,我心中想的是 Docker 群集的数量是由 Host 进程管理的——但转念一想,由 Docker Compose 来管理总 Docker 的数量可能也是一个好主意,这样 Host 就可以少管一件事了(到时候我会和大语言模型讨论一下)限制代码能访问的磁盘路径,作为一个与大模型对接的 MCP,我觉得有必要允许它可以输出一些文件,这应该会很有趣,但不对输出到不允许它输出的地方。
2025-07-14 08:00:57
21
转载 重返照片的原始世界:为.NET打造的RAW照片解析利器
格式照片的朋友确实不多,但我坚信这个工具将会为那些需要它的人带来极大的帮助。格式,因此不再需要更换红色、蓝色的通道位置,同样也不需要关注它的宽度和高度,同样的道理如果使用。如果你是我的老读者,你可能还记得,在2019年,我冒险进入了一片神秘的领域——用。这个方案的缺点是它明显慢一些,且它的后处理都并非基于拜尔数据,因此后期空间有限。用的是老版本,导致本质和我的包二进制不兼容,因此并不能使用,需要使用我编译的。如果你已经对我其他的开源项目有所了解,你会发现,在这里,你同样需要同时安装。比如,如果你使用的是。
2025-07-11 00:00:17
60
转载 免费开源 .NET OpenCV 迷你运行时全平台发布
无论你是在 Windows、Linux、macOS,还是 Android、Alpine 甚至老旧 CentOS 环境中,都能即装即用、开箱即跑。兼容 glibc 2.28+:RHEL 8+、Debian 10+、Ubuntu 20.04+、openEuler 20.03+、Deepin…兼容 glibc 2.17+:CentOS 7+、RHEL 7+、Debian 8+、Ubuntu 14.04+:NDK r27,API 24+,同样静态链接 libstdc++,手机、平板、盒子即插即用。
2025-07-09 08:01:15
28
转载 .NET中的值类型与引用类型
链接:https://devblogs.microsoft.com/dotnet/whats-new-in-csharp-7-0/#user-content-ref-returns-and-locals。所以引用类型的优势就出来了,不用关心对象的所有权,不用关心线程安全,不用关心赋值问题,而且最重要的,还不用关心值类型复制的性能问题。请注意看内存开销,我们预估值是100MB,但实际约为3.4GB,这说明了引用类型需要(较大的)额外内存开销。在近代的的C里,除了值类型,还加入了指向动态分配的值类型的指针。
2025-07-08 08:03:33
39
转载 ASP.NET Core Response Body 的文本替换
需要注意的是这种基于直接读取所有 stream 内容的方式适用于 response 较小的情况,如果只是要记录 response body 的信息,可以使用自带的 HTTP Logging 中间件来实现,或者参考 HTTP Logging 中间件的实现。我们需要在代理的服务中实现某个 url 地址的替换,需要实现在 ASP.NET Core response body 中文本替换,记录分享一下。实现 ASP.NET Core Response Body 的文本替换。
2025-07-04 08:01:52
22
转载 告别复杂DSL:Elasticsearch SQL实战指南与深度解析
Elasticsearch SQL 是 Elasticsearch 提供的一项功能,允许用户使用类似 SQL 的语法对存储在 Elasticsearch 索引中的数据进行查询。它通过将 SQL 查询翻译为 Elasticsearch 的原生查询语言(Query DSL),结合了 SQL 的熟悉语法和 Elasticsearch 的高效搜索能力。Elasticsearch SQL 为熟悉 SQL 的用户提供了一个强大的接口,结合了 Elasticsearch 的搜索能力和 SQL 的易用性。
2025-07-02 08:01:38
64
转载 数据库选型对领域建模的影响
如果单独从领域建模的角度看,当然应该只从业务角度分析系统的领域模型,并通过分析各个领域对象之间的关系(如合成、聚合、关联以及依赖关系)来设计聚合,考虑聚合的概念边界,并将各个实体和值对象分配到聚合之中。倘若修订版本需要做单独的生命周期管理,可考虑将其设计为一个单独的聚合,并在Revision的聚合根实体中,将Document的id作为它的外键。遵循领域驱动设计方法的领域建模,需要考虑限界上下文和聚合的双重边界,这一约束使得建模人员的工作变得更困难,但它带给设计的价值却是显而易见的。
2025-07-01 08:00:51
32
转载 告别API碎片化:One-API如何用开源方案打通国内外大模型?
它支持多种主流模型,包括 OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek,以及国内的字节豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元等。One-API 是一个开源项目,托管于 GitHub(One-API GitHub),其核心目标是通过标准化的 OpenAI API 格式,为开发者提供一个统一的接口来访问多种 LLM。通过统一的接口、灵活的部署和强大的管理功能,它显著降低了多模型集成的复杂性。
2025-06-30 08:00:57
116
转载 DotTrace系列:1. 理解四大经典的诊断类型(上)
有一些像 harmony 的 transpiler,由于插入了大量的垃圾代码,会导致程序运行速度极度的下降,久久不能跟踪结束!所以在这种细粒度的场景下,更适合用代码实现局部跟踪,后续的文章会跟大家继续聊。从卦中我们获得了更多的信息,比如发现有人对 MultiplyMatrices 方法做了三次调用,总计花费近 8s,平均下来每次call 近 3s,如果觉得单次 3s 还是有点长,接下来该如何继续下钻呢?值得一提的是,Sampling 属于大粒度的性能跟踪,生成的采样文件很小,适合天级别的长期监控。
2025-06-27 08:01:39
22
转载 推荐一个基于C#开发的跨平台构建自动化系统!
3、丰富的工具集成:支持 MSBuild、dotnet CLI、NuGet、NUnit、xUnit、MSTest 等。5、与 CI/CD 系统集成:支持 Azure DevOps、Jenkins、GitHub Actions 等。它可以完成诸如编译代码、复制文件/文件夹、运行单元测试、压缩文件以及构建 NuGet 包等任务。1、基于 C# 的 DSL:使用 C# 编写构建脚本,支持完整的 C# 语言特性。4:、支持 Docker、Azure、AWS 等云服务。
2025-06-24 08:02:03
35
转载 使用cangjie编程语言构建aspnetcore技术栈
注意:认证是确定你是谁,无论成果与否都不影响流程,而授权,需要验证你的身份,如果身份认证不通过,那么将会发起。日志模块也是应用开发过程中必备可却的组件,日志模块内置了控制台和文件提供程序,同样也支持自定义日志提供程序。web主机实现了通用主机,并且在此基础上扩展了http协议,内置请求管道来处理请求逻辑。选项是对依赖注入模块的扩展和补充,用于统一框架设计者和使用者之间的约定,设计者通过。我们在身份认证模块下可以非常方便的实现一个认证方案,比如。web主机在分发请求的时候,创建了一个子容器放到。
2025-06-23 08:00:44
19
转载 dotnet 9 通过 AppHostRelativeDotNet 指定自定义的运行时路径
这里需要特别说明的是 .NET Core (包含 .NET 5 和更高版本)的输出 exe 是不能实现 .NET Framework 的 AnyCpu 魔法的,在使用自定义 dotnet 运行时路径时,需要根据自己的需求,明确指定其版本。欢迎转载、使用、重新发布,但务必保留文章署名[林德熙](https://www.cnblogs.com/lindexi)(包含链接:https://www.cnblogs.com/lindexi ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
2025-06-20 08:00:16
35
转载 用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派开发Wifi配网功能
这个小功能的代码,其实我用大模型写了大部分,现在的大模型能力越来越强对于我们程序员来说,如果你知道技术方案,但是没有时间查看文档和调试代码,通过明确的提示词,是可以让大模型生成很不错的代码的,也算是提高了我们的效率,当然代码也记得好好检查,不然有bug也会让人很恼火的。在之前的系列文章中,我们已经搭建了基本的硬件平台和软件架构,但有一个问题一直困扰着我:当做好一个差不多的机器人带到新环境时,如何让它连接到新环境的WiFi网络呢?通过这次实践,我成功地用.NET技术实现了一个初步能用的WiFi配网方案。
2025-06-18 08:00:25
26
转载 如何正确实现程序的启动画面
应用每次冷启动过程中展示给用户的一个过渡页面,用于缓减用户打开应用时等待过程的焦虑情绪。只显示一个静态或简单的过渡图像,不进行复杂的计算或渲染,因而消耗的。应用程序启动时,使用类在启动窗口或初始屏幕中显示图像。窗口通常会加载更多的控件和资源,因此其内存占用较高。仅加载一个简单的图像或动画,所需内存远低于完整的。使用较高,影响应用程序启动的响应速度和性能。调用方法以显示初始屏幕。控制启动画面显示的最大时长。调用方法以关闭初始屏幕。模拟主窗体准备数据耗时。GitHub 源码地址。Gitee 源码地址。
2025-06-17 08:00:34
53
转载 C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
Monitor.Wait(object obj), Monitor.Pulse(object obj), Monitor.PulseAll(object obj) 提供了在锁内等待特定条件成立的能力(类似 ConditionVariable),可用于构建生产者-消费者模式等。当锁释放时,操作系统从等待队列中选择下一个唤醒的线程是不确定的,不一定是最早等待的那个(这有助于提高吞吐量,但可能导致某些线程“饥饿”)。锁的本质:锁是一种同步工具,用于确保共享资源的互斥访问(一次只有一个线程使用)。
2025-06-16 08:02:54
46
转载 聊一聊 .NET Dump 中的 Linux信号机制
在Linux上崩溃时,我们可以配置一些参考拿到对应程序的core文件,拿到core文件后用windbg打开,往往会看到这样的一句信息。发出了携带 SI_USER 代码的 SIGABRT 信号,看起来和Linux信号机制有关,那具体是什么意思呢?用 windbg 打开 core-app-7403-1748312729 文件,熟悉的画面又回来了,哈哈。方法踩了一个dump,也就是说 dump 中看到的信息就是用他来填充的,可以观察。标准,至于他们有什么区别,看签名就知道了。表示信号来源于用户进程,而后者的。
2025-06-13 08:02:27
18
转载 揭秘C#异步编程核心机制:从状态机到线程池的全面拆解
想象一个应用程序,比如一个带有用户界面的程序,主线程(通常是UI线程)负责处理用户交互、绘制界面等任务。例如,在处理网络请求时,同步调用会阻塞线程直到响应返回,而异步调用则允许线程去做其他工作,待响应到达时再处理结果。C#中的异步编程是一个强大且复杂的特性,它允许开发者编写非阻塞的代码,从而显著提升应用程序的响应性和吞吐量。会捕获当前的同步上下文(通常是UI线程上下文),确保任务完成后的延续回到UI线程执行,以便更新界面。线程池是一个预分配的线程集合,可以重用线程,避免频繁创建和销毁线程的开销。
2025-06-10 08:01:09
61
转载 C# 模式匹配全解:原理、用法与易错点
11的能力扩展,模式匹配为处理类型判断、属性解构、集合匹配等提供了简洁、高效且类型安全的表达方式。它不仅能让 if/switch 等控制结构变得“声明式”,还能带来性能提升。在这篇文章里,我们将深入剖析 C 的所有模式匹配语法和用法,追踪其演变,讲清一些容易混淆和误用的地方,让大家能了解模式匹配本质。Pattern Matching 是现代 C# 代码的“瑞士军刀”,能极大提升 if/else、switch/case 类代码的简洁性、表达力和类型安全性,在 switch 表达式等场景下优势更加明显。
2025-06-09 08:00:20
23
转载 CodeSpirit 开发环境搭建指南
后续支持多种数据源,本地或轻量环境使用数据库。(管理界面: http://localhost:15672, 用户名/密码: admin/Password123)下载地址:https://www.docker.com/products/docker-desktop。(健康检查:http://localhost:61687/_cluster/health)下载地址:https://visualstudio.microsoft.com/vs/: https://localhost:61882 (如果启用)
2025-06-05 08:02:06
62
金山卫士部分已经开放了的源代码下载
2010-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人