自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (2)
  • 收藏
  • 关注

原创 VS Code的tasks.json科普指南

- tasks.json是 VS Code 的系统配置文件,用于定义和管理各种自动化任务(如编译、测试、脚本执行等)- 当项目需要“在 VS Code 里一键执行命令”时就应投入 tasks.json,它能把工具链、调试、错误追踪串起来。

2026-03-08 15:18:02 431

原创 VS Code调试神器launch.json

launch.json是VS Code调试功能的核心所在。花少量时间配置一次,就能为日常开发带来持久的效率提升。特别是对于多模块、多环境项目,合理的调试配置能让开发体验焕然一新。

2026-01-20 23:02:47 1117

原创 一文读懂 C# Dev Kit

C# Dev Kit 是微软为 VS Code 提供的一组扩展集合,旨在让轻量级编辑器获得接近 Visual Studio 的强大 C# 开发能力。该工具包包含核心 C# 扩展、项目管理、测试调试和 AI 辅助功能,支持跨平台开发(Windows/macOS/Linux),特别适合资源受限设备、多平台开发及远程协作场景。通过集成解决方案管理、NuGet 包管理和智能代码补全等功能,C# Dev Kit 显著提升了开发效率,降低了入门门槛,为现代 C# 开发提供了轻量化但功能完备的解决方案。

2026-01-20 07:30:00 1581

原创 VS2022 中 std::mutex 静态初始化陷阱:一次诡异崩溃的排查记录

VS2022中使用std::mutex时遇到的静态初始化陷阱问题。该问题源于VS2022 17.4版本为std::mutex添加constexpr支持后,全局静态初始化可能导致系统资源未就绪时锁失效或崩溃。文章分析了问题现象、影响范围,并提供了解决方案。最后给出了排查清单和核心建议

2026-01-18 23:29:48 897

原创 Windows系统检查端口占用实战指南

Windows系统检查端口占用实战指南 端口冲突是Windows开发和运维中的常见问题。本文介绍了快速定位和解决端口占用的方法:1)使用netstat -ano | findstr <端口号>查找占用端口的PID;2)通过tasklist命令或任务管理器根据PID找到对应进程。还提供了PowerShell组合命令一步查询进程信息的方法,并说明了如何安全终止进程释放端口。文章强调终止系统关键进程的风险,并分享了查看所有监听端口、导出结果等实用技巧,帮助用户高效解决端口冲突问题。

2026-01-03 11:34:39 888

原创 .NET 生态 IoC 框架选型指南:从 Framework 到 Core,老司机的决策树

本文对比.NET Framework和.NET Core时代的IoC框架选择。核心原则是匹配项目复杂度,避免过度追求功能,MS DI和Autofac已能满足大多数需求

2025-12-08 22:10:02 1121

原创 控制反转( IoC)

控制反转(IoC)是一种重要的设计原则,通过外部容器管理对象依赖关系,降低模块耦合度并提升可测试性。它适用于大型项目,可简化对象生命周期管理,但不推荐用于小型脚本或性能敏感场景。.NET生态中常见的IoC框架包括Unity、Ninject、Autofac等,各有优劣,需根据项目需求选择。理解IoC基本概念和依赖注入是提升代码质量的关键,合理应用可优化项目开发效率。

2025-12-08 22:01:50 1009

原创 C# 中的线程单元状态(ApartmentState)详解

C#线程单元状态(ApartmentState)是多线程编程中的关键概念,分为STA(单线程单元)和MTA(多线程单元)。STA适用于UI操作和COM组件交互,保证线程安全但并发性弱;MTA适合后台任务,并发效率高但需自行处理线程安全。使用时需注意:必须在启动线程前设置状态,Windows窗体主线程默认STA而控制台默认为MTA,MTA线程不能直接操作STA资源。开发时要根据场景选择合适模式,避免性能问题和线程冲突,这对.NET多线程编程至关重要。

2025-11-23 23:05:43 141

原创 依赖注入(DI):代码松绑的“法宝”

依赖注入(DI)是一种通过外部容器管理对象依赖的设计模式,可有效降低代码耦合度,提升可维护性和测试效率。其核心思想是将依赖对象的创建与使用分离,常见注入方式包括构造函数、属性和方法注入。DI适用于大型复杂项目、高频测试及依赖易变场景,但在小型项目中可能增加复杂度。.NET生态中,Autofac适合复杂依赖管理,Prism则专注于MVVM框架集成。DI本质是“专业分工”的编程思想,通过集中管理依赖实现代码松耦合,是提升软件架构灵活性的关键手段

2025-11-09 18:10:31 595

原创 揭开程序性能的面纱:I/O 密集型与 CPU 密集型的本质区别

程序性能优化关键要点:1. I/O密集型:瓶颈在外部设备响应,CPU利用率低。需采用异步编程、并行I/O、缓存技术等减少等待优化性能2. CPU密集型:瓶颈在CPU算力,CPU利用率高。需通过并行计算(多核利用)、算法/数据结构优化、硬件加速(如GPU)等提升算力优化性能3. 混合型:同时存在I/O等待与CPU计算。需拆分I/O模块与CPU模块,分别按对应策略优化,再合理调度资源理解这两种类型,不仅能帮助我们写出更高效的程序,更能在技术选型和架构设计时做出更明智的决策

2025-11-05 12:10:25 857

原创 C# 信号量(Semaphore)详解与实战

信号量(Semaphore)是C# 中用于线程同步的高级机制之一,通过维护计数器控制线程并发访问数量,适合有限资源访问控制。文章从核心概念、构造函数、关键方法(WaitOne/Release)等方面进行解析,并提供了单线程唤醒、多线程并发控制及跨进程同步的实战示例。通过正确使用信号量,可以有效提升程序的并发性能和稳定性。

2025-11-02 11:00:38 1002

原创 C# 中UI 线程和后端线程使用避坑指南

本文介绍了C#中UI线程与后端线程的使用注意事项及解决方案。主要内容包括:1) UI线程不应执行耗时操作,否则会导致界面卡顿;2) 控件更新必须通过UI线程,后端线程需使用Dispatcher切换;3) 避免在同步块中使用Dispatcher.Invoke,推荐使用BeginInvoke防止死锁;4) 提出了通过标志位确保数据一致性的方案,使用递增序号和双重锁机制,保证最后触发操作最终更新UI。文章还指出了该方案的局限性,并提供了示例Demo参考。

2025-11-02 10:59:49 905

原创 一文读懂 C# 中的 UI 线程和后端线程

C#中的UI线程与后端线程分工明确:UI线程负责界面渲染和用户交互;后端线程处理耗时任务,避免界面卡顿。后端线程通过Dispatcher切换到UI线程更新控件,后端线程需注意线程安全和异常处理。关键要避免死锁(避免同步调用时加锁)和UI线程阻塞。合理运用双线程协作能显著提升程序性能和用户体验

2025-10-27 21:31:46 1204

原创 C# EventWaitHandle 安全控制详解

EventWaitHandle 是 .NET 中用于多进程/多线程同步的核心类。其安全控制直接关系到事件对象的访问权限。本文阐述构造函数安全策略选项及默认行为,讲解该类权限规则管理方法与权限定义方式,提供实用代码示例,强调注意事项,为多用户环境下跨进程同步安全实现提供参考

2025-10-25 10:01:50 689

原创 C#中同步工具EventWaitHandle的打开方式详解

EventWaitHandle三种打开方式要点- 构造函数:可创建或打开,操作简单但有意外创建风险。只打开事件时不推荐使用- OpenExisting:仅打开已存在事件,需处理异常,推荐兼容老版本时使用- TryOpenExisting:最安全,不抛异常,优先推荐使用

2025-10-22 21:00:00 847

原创 EventWaitHandle:C#同步工具

EventWaitHandle 核心要点摘要定位:C# 多线程同步工具,是 ManualResetEvent 与 AutoResetEvent 的基类。核心功能:通过信号量控制线程阻塞与唤醒,支持进程内、跨进程同步。关键特性:有终止 / 非终止两种状态,可配置重置模式,且保证线程安全。内容覆盖:含构造函数参数解析、同 / 跨进程同步实战及避坑指南(如命名规范、资源释放)。优势与适用场景:同步控制比特定实现更灵活,适用于协调多线程 / 进程执行顺序。

2025-10-20 21:00:00 1384

原创 同步与异步编程概念解析及代码示例

本文深入解析同步与异步编程的核心概念及实践应用。同步编程按顺序执行任务,保证一致性但资源利用率低;异步编程可释放线程避免阻塞,提升并发能力。通过四种编程模型对比(同步串行/并行、异步串行/并行)和C#代码示例,展示不同场景下的实现方式和适用条件。文章强调应根据任务特性(耗时、依赖关系等)合理选择编程模型,同步适合简单强依赖任务,异步则适用于IO密集型操作。最后提供相关技术文章和完整代码资源参考,帮助开发者构建高效稳定的应用程序。

2025-10-19 13:25:37 930

原创 C#异步编程:async修饰方法的返回类型说明

C#异步编程中async方法的返回类型有:Task(无返回值异步操作)、Task<T>(带返回值的异步操作)和void(仅限UI事件处理器)。Task和Task<T>支持异常捕获和等待完成,是业务逻辑的首选;而async void仅适用于事件处理器,无法捕获异常也不支持等待

2025-10-13 20:00:00 693

原创 C#异步编程 async/await

C#的async/await是基于 Task 的语法糖,本质上不引入新的多线程机制,而是简化异步编程模型,让异步代码像同步代码一样简洁易读。async用于修饰方法,await用于等待异步操作,需配合使用。适用于I/O密集型任务(如网络请求、文件操作)和UI交互场景,不适合CPU密集型计算

2025-10-12 09:34:36 949

原创 ManualResetEventSlim 深度解析:轻量级同步原语的设计与实践

ManualResetEventSlim是.NET中的轻量级同步原语,通过自旋等待与内核等待的混合机制优化高频短等待场景。它采用自旋计数参数在用户态短暂轮询,避免内核切换;超时后自动降级为内核阻塞。相比传统ManualResetEvent,显著减少了资源消耗和延迟,特别适合线程池任务等短时同步场景。但长时间等待仍需使用内核级ManualResetEvent。该设计体现了.NET对同步场景的精细化优化,在性能和资源消耗间取得平衡。

2025-10-05 10:37:17 390

原创 C# 异步 Ping 网络连通性检测实战

C# 异步Ping检测网络连通性实战指南:文章介绍了在C#中使用.NET框架自带的Ping类进行异步网络检测的两种方法。核心内容包括:1)Ping类工作原理(基于ICMP协议);2)同步与异步请求的对比(异步不阻塞线程);3)推荐的async/await模式实现(代码简洁)和事件回调模式(兼容老版本)。文章提供了完整的代码示例,并强调异步方法的优势(高并发、UI不卡顿)及注意事项(资源释放、取消操作处理)。适用于网络监控、故障排查等场景。

2025-10-02 17:00:00 1225

原创 C# 中Ping 网络连通性检测实战

C# 中的 Ping 借助 ICMP 协议检测网络状态,向目标主机发送请求并等待响应。判断主机可达性及网络连通性,适用于网络设备检测、故障排查等场景

2025-09-29 20:38:52 1076

原创 C#多线程全家桶:从Thread到async/await

C#多线程技术全面解析:- Thread是基础但手动管理复杂- ThreadPool适合短小任务- BackgroundWorker已过时- Task是官方推荐方案- async/await简化异步编程- Parallel.ForEach专攻CPU密集型任务通过对比表格展示各工具特点,指出Task+async/await是新项目首选组合,特殊场景才需使用Thread。多线程工具选择需根据具体场景决定,没有绝对优劣之分

2025-09-27 12:09:09 1542

原创 ManualResetEventSlim:C# 线程同步工具

ManualResetEventSlim是C#中轻量级的线程同步工具,用于协调进程内多线程执行时机。包括多线程唤醒、手动重置状态、及状态可查询等特性。适用于高频同步场景。通过Set()/Reset()控制线程阻塞与唤醒,但需注意及时重置状态避免后续线程误通过。与ManualResetEvent相比,资源消耗更低,推荐短期等待使用

2025-09-27 11:41:13 851

原创 ManualResetEvent:C# 线程同步工具

ManualResetEvent是.NET提供的线程同步工具,用于协调同一进程内线程的执行时机。它通过Set()和Reset()控制终止/非终止状态,具有批量唤醒线程和手动重置状态的特点,适用于屏障同步、阶段性控制等场景。与AutoResetEvent不同,它允许所有等待线程同时通过,且状态需手动重置。使用时需注意及时调用Reset()、避免跨进程使用,并优先考虑超时等待和资源释放。典型应用包括主线程通知多个工作线程同时执行的任务协调。

2025-09-23 21:19:33 722

原创 AutoResetEvent:C# 线程同步工具

AutoResetEvent是C#中用于线程同步的工具,通过终止/非终止状态控制线程阻塞与唤醒。其核心特点是自动重置状态和单线程唤醒机制,适用于生产者-消费者模型、顺序任务调度等场景。与ManualResetEvent不同,AutoResetEvent每次Set()仅唤醒一个线程并自动重置状态。使用时需注意信号的一次性特性、超时等待设置和资源释放。该工具仅支持进程内线程同步,跨进程需使用EventWaitHandle。合理使用可精准控制线程执行顺序,是多线程编程中的重要同步原语

2025-09-20 10:04:28 1146

原创 C# 处理大量数据太慢?Parallel.ForEach 一行代码搞定并行加速

本文介绍了C#中Parallel.ForEach的用法,它能够自动将集合拆分为并行任务,利用多核CPU提升数据处理效率。文章通过代码示例展示了普通foreach与Parallel.ForEach的执行差异,并详细说明了两个核心重载方法的参数配置。同时提供了6条避坑指南,包括线程安全、并行度设置、异常处理等注意事项,并总结了适用场景(如批量文件处理、复杂计算)和不适用场景(如顺序敏感任务)。对于需要处理大量独立数据的开发者,Parallel.ForEach是一个简单高效的并行化工具,但需注意合理使用以避免性能

2025-09-18 22:18:22 1063

原创 C# 定时任务神器:System.Threading.Timer

System.Threading.Timer是.NET中轻量精准的定时任务解决方案,适合后台执行数据采集、心跳检测等无UI操作的任务。其核心优势在于基于线程池运行,不阻塞主线程,通过TimerCallback设置任务逻辑,支持动态调整执行间隔。使用时需注意线程安全和及时释放资源,避免内存泄漏。相比其他定时器,它更适合服务器端轻量级定时任务,但操作UI控件需换用System.Windows.Forms.Timer。典型使用场景包括系统监控、定时清理等周期性后台任务。

2025-09-16 20:53:36 1154

原创 C# 后台任务神器:BackgroundWorker

BackgroundWorker是.NET封装的后台任务助手,可将耗时操作从UI线程转移到后台执行,保证界面流畅。其核心特点包括:事件驱动(自动管理线程)、内置进度汇报和任务取消功能。适用于文件处理、网络操作、数据库查询等可能阻塞UI的耗时任务。文章通过10步模拟任务演示了关键实现步骤:初始化配置、事件绑定、启动任务,并详细解析了DoWork(执行任务)、ProgressChanged(更新UI)和RunWorkerCompleted(收尾处理)

2025-09-16 20:51:29 1682

原创 .NET Framework 和 .NET 的核心差异

C# 开发领域,.NET Framework 只能在Windows系统上用,不支持跨平台;.NET 实现跨平台开源,轻量级且灵活。应依据项目需求、平台要求等因素,合理选择框架

2025-09-10 21:18:01 1303

原创 一文读懂 C# 中的线程池ThreadPool

C#线程池(ThreadPool)是.NET提供的高效线程管理机制,可复用线程资源,减少线程创建销毁开销。它具有自动管理线程数量、线程复用、线程安全等特点,适合处理短小并发任务。文章详细介绍了线程池的核心用法,包括提交无参数/有参数任务、避免闭包陷阱的方法,以及如何通过Get/SetThreads方法优化线程池配置。还提供了实际代码示例,展示如何根据CPU核心数设置最佳线程数,适用于批量异步任务、IO操作等场景,能显著提升程序性能。

2025-09-08 22:13:09 955

原创 C#中的托管资源与非托管资源介绍

本文介绍了C#中托管资源与非托管资源的区别与管理方式。托管资源由CLR自动管理(如字符串、集合等),GC会自动回收;非托管资源(如文件句柄、数据库连接等)需手动释放,否则会导致内存泄漏。开发中应优先使用using语句管理非托管资源,自定义非托管资源类需实现IDisposable接口。文章通过三个示例展示了纯托管资源、非托管资源使用using释放,以及自定义非托管资源类的实现方式,强调正确管理资源是编写高效稳定程序的基础。

2025-09-07 11:07:45 1162

原创 一文吃透 C#中异步编程Task

本文全面介绍了C#中的异步编程Task核心知识。Task是.NET 4引入的异步操作类,基于线程池自动调度,具有异步执行、状态可控和支持返回值等特点。文章推荐了Task的适用场景:复杂计算、多任务并行和后台任务。通过多个Demo详细演示了Task.Run启动任务、FromResult包装结果、Wait/WaitAll/WaitAny等待任务、以及任务取消与异常处理等核心用法。最后提供了常用API速查表,包括Task.Run、WaitAll、WaitAny等关键方法的使用说明。本文涵盖Task从基础到进阶的完

2025-09-04 20:00:41 1110

原创 C# Task 入门:让你的程序告别卡顿

C# Task入门:告别程序卡顿的异步编程利器 摘要:Task是C#中处理异步操作的轻量级类,基于线程池实现,比直接操作Thread更高效易用。本文介绍了Task的三种启动方式(Task.Run/Task.Start/Task.Factory.StartNew),核心方法Wait()的重载形式,以及Result/Status等关键属性。通过控制台示例演示了Task的基础用法,并提供了避免死锁、异常处理等实用闭坑指南,帮助开发者轻松实现多线程编程,提升程序性能。

2025-09-01 21:55:39 943

原创 一文吃透 C# 中的 Thread:多线程编程的 “基础款”

本文全面介绍了C#中的Thread类及其多线程编程应用。Thread代表操作系统中的独立执行线程,适用于后台任务处理、异步数据获取和实时监控等场景。文章通过基础示例演示了线程创建、启动和等待的基本操作,并展示了进阶用法如参数传递、状态检查和优先级设置。同时提供了常用方法和属性速查表,包括Start()、Join()、Priority等核心功能。最后给出了重要避坑指南,包括线程同步、死锁避免、资源管理和性能优化等关键注意事项,帮助开发者正确使用多线程技术。

2025-08-31 19:20:04 870

原创 一文吃透 C# 模态框:系统款与自定义款,该怎么选?

C#开发中模态框分为系统自带的MessageBox和自定义模态框。系统模态框适合简单提示和确认场景,开发成本低但样式固定;自定义模态框通过ShowDialog()实现,可满足复杂交互需求但开发成本高。选择原则:简单场景用MessageBox,复杂业务用自定义框。文章提供了MessageBox的4种常用写法,并指出3个常见使用误区,包括传参错误和多弹窗阻塞问题。核心建议是按需选择,平衡开发效率与用户体验。

2025-08-27 22:27:25 1124

原创 C# 多线程同步神器 Mutex:一篇搞定跨进程锁!

C# 中的 Mutex(互斥锁)是多线程同步的强大工具,不仅能管理同一进程内的线程,还能实现跨进程同步。其核心机制是通过 WaitOne() 获取锁、ReleaseMutex() 释放锁,确保共享资源的独占访问。关键应用场景包括进程内线程同步和跨进程资源协调(需使用命名 Mutex)。使用时需注意锁的释放、避免死锁,并合理选择同步工具(Mutex 适合跨进程或长时间等待,而 Lock/Monitor 更适合高频次进程内同步)。正确使用 Mutex 能有效解决并发访问中的数据混乱问题。

2025-08-25 22:32:25 996

原创 C#多线程同步利器:Monitor全解析

摘要: C#的Monitor是多线程同步的核心工具,通过Enter/Exit实现互斥锁,确保共享资源安全访问,避免数据错乱。其高级功能Wait/Pulse可实现线程协作,典型应用如生产者-消费者模型,通过条件等待和唤醒机制提升效率。关键用法包括: 基础锁:Monitor.Enter+Exit(推荐用lock语法糖); 灵活尝试:TryEnter支持超时控制,避免阻塞; 线程协作:Wait释放锁并等待,Pulse唤醒等待线程,需配合while循环防虚假唤醒。 适用于共享资源操作和复杂线程协调场景,是构建稳健多

2025-08-23 10:56:59 1137

原创 一文读懂 C# 中的 lock:多线程编程的“安全锁”

C#中的lock关键字是多线程编程的核心同步工具,用于确保同一时间只有一个线程访问共享资源,防止数据混乱。它本质上是Monitor类的语法糖,自动实现了获取锁和释放锁的流程。使用时必须注意:锁对象应为引用类型,避免使用this、类型对象或字符串作为锁,并合理控制锁的范围以平衡性能与安全。典型应用场景包括事务性操作、缓存更新和日志记录等。lock虽简单高效,但在高并发场景下需考虑更高级的同步工具,同时要避免在异步方法中使用lock。正确使用lock能有效解决多线程竞争问题,是编写稳健并发程序的基础。

2025-08-20 21:00:31 1140

原创 C# 中的计时器:Stopwatch 用法解析

摘要: C#中的Stopwatch类是高精度计时工具,用于测量代码执行时间。其核心优势包括微秒级精度、轻量级实现和多功能操作(启动/停止/重置)。适用于算法效率对比、接口响应监测、文件读写评估等场景。关键方法有Start()、Stop()、Restart(),常用属性包括ElapsedMilliseconds和IsRunning。使用时需注意精度限制、避免频繁创建实例及多线程同步问题。通过Stopwatch可快速定位性能瓶颈,显著优化代码效率。

2025-08-15 12:03:26 1333

C# 中UI 线程和后端线程使用避坑指南

本资源包含2篇文章和一个可直接运行的C#Demo 一篇文档说明: C# 中 UI 线程(负责界面交互与渲染)和后端线程(处理后台任务)的概念、应用场景,通过示例展示其核心用法及注意事项 一篇文档说明:前后端线程使用时应避开的坑及示例说明(UI线程不要执行耗时操作;只能在UI线程进行控件更新,后端线程更新界面元素时要切换到 UI 线程;死锁示例、数据一致说明及解决方式) Demo包含所有说明的实例代码

2025-10-25

C# 系统同步工具EventWaitHandle详解

本资源内容包含3篇文章及代码实现(含详细日志):EventWaitHandle介绍、EventWaitHandle三种打开方式要点、安全控制详解 一、EventWaitHandle介绍: 1. C# 多线程同步工具,EventWaitHandle是 ManualResetEvent 与 AutoResetEvent 的基类,功能更全面 2. 核心功能:通过信号量控制线程阻塞与唤醒,支持进程内、跨进程同步。 3. 关键特性:有终止 / 非终止两种状态,可配置重置模式,且保证线程安全。 4. 内容覆盖:含构造函数参数解析、同 / 跨进程同步实战及避坑指南(如命名规范、资源释放)。 5. 优势与适用场景:同步控制比特定实现更灵活,适用于协调多线程 / 进程执行顺序。 二、EventWaitHandle三种打开方式要点 1. 构造函数:可创建或打开,操作简单但有意外创建风险。只打开事件时不推荐使用 2. OpenExisting:仅打开已存在事件,需处理异常,推荐兼容老版本时使用 3. TryOpenExisting:最安全,不抛异常,优先推荐使用 三、安全控制详解 1. 多用户、多进程环境下的访问权限系统梳理 2. 安全对象 EventWaitHandleSecurity详细说明 3. 规则对象EventWaitHandleAccessRule 说明 四、Demo实现,含有详细注释

2025-10-23

C#同步与异步编程概念解析及代码示例

一、文档说明: 1. 同步与异步编程概念 2.编程模型:同步串行、同步并行、异步串行、异步并行说明及对比 3.关键代码示例 二、C# 代码实现及说明、结果展示

2025-10-14

C# 模态框和非模态框介绍

1. 模态框和非模态框是什么 2. 模态框和非模态框的推荐应用场景 3. 实战 Demo:通过复选框选择弹出模态或非模态对话框。主窗口包含 "模态弹框" 复选框和 "PopDialog" 按钮,默认勾选模态。点击按钮时,根据复选框状态创建并显示对应类型的对话框。 4. 核心方法和属性阐释 5. 避坑指南、注意事项

2025-08-11

C# 生产者+消费者 实现视频播放器

1. 文章:一文吃透 C# 中的 BlockingCollection 2. 应用程序:基于 WPF 的实时图像处理应用程序,实现了生产者-消费者模式来处理视频帧 3.Bitmap 转 BitmapSource 的 2 种方法

2025-07-31

C#和WPF的MVVM模式介绍及代码示例

C#和WPF的MVVM模式介绍及代码示例: 第一个Demo:MVVM框架搭建及简单的显示 第二个Demo:MVVM框架搭建及INotifyPropertyChanged、数据绑定和命令模式等核心的使用

2025-07-30

C#垃圾回收机制:原理与实践

C#垃圾回收(GC)自动管理内存:通过分代策略(0代回收频次高)智能回收不再被引用的对象 避免手动调用GC.Collect(),信任CLR自动调度 大对象需谨慎防碎片 析构函数应简短 优先用IDisposable释放非托管资源 代码示例,加深理解

2025-07-29

环境变量备份及还原(命令行+脚本)

1. 使用PowerShell 备份及还原环境变量 说明文档 + 命令行 即时显示当前PATH值、 备份到指定路径、 备份到指定路径自动设置间戳 开机自动备份设置 2. *.bat文件备份及还原环境变量 说明文档 + 命令行 提高备份脚本及说明(一键备份及还原)

2025-05-19

系统功能控制(注册表+组策略+脚本)

1. 系统还原 禁止和是能控制(组策略+注册表双解法解除封印) 2. Windows注册表的备份及还原( 注册表编辑器备份、系统还原点备份、命令行备份) 3. 安全界面按钮显示控制:注销、更改密码、任务管理器、电源键(注册表+组策略+脚本) 内含文章详细解读 + 脚本(拿来即用,内含详细介绍)

2025-05-15

WPF 表格属性demo,保存控件及内容到本地图片

WPF 常使用的表格属性demo,且可以保存表格及内容到本地图片

2025-03-23

C#通过CLR调用C++函数

自定义数据结构 使用marshal_context、marshal_as进行类型转换 具体类型说明可参考 https://mp.weixin.qq.com/s/2uG63sMjnBlq2fUP11FY4g 或 https://editor.csdn.net/md/?articleId=146242867 ConfigData^ : 托管类型的指针(类似 C# 中的 ConfigData 对象)。 ConfigData% : 错误语法,% 必须与 ^ 结合使用。 ConfigData^% : 托管类型的跟踪引用(类似 C# 的 ref ConfigData)。 ConfigData* : 非托管类型的指针(仅适用于非托管 C++ 对象) ConfigData& : 非托管类型的引用(仅适用于非托管 C++ 对象)。 % : 表示这是一个跟踪引用(Tracking Reference),即通过引用传递 ConfigData^ 类型的变量

2025-03-18

C# Socket通讯,带头尾解析

Socket通讯示例,Client和Lisenter互相通讯,信息带头尾解析

2024-06-16

WPF 中Canvas图像缩放和平移

图像上放一个图元,同时实现缩放和平移操作 缩放操作:使用滚轮实现缩放,缩放原点以鼠标为中心 平移操作:按住鼠标右键,随鼠标平移 缩放和平移时图元和图像的相对位置不变

2024-06-02

WPF 中Canvas图像缩放和平移

图像上放一个图元,同时实现缩放和平移操作 缩放操作:使用滚轮实现缩放,缩放原点以鼠标为中心 平移操作:按住鼠标右键,随鼠标平移 缩放和平移时图元和图像的相对位置不变 图元不能超出图像范围 图像不能拖出Canvas范围 图像显示范围比自身尺寸大

2024-06-02

c++插件管理框架、插件接口及插件实现

插件开发是一种高内聚低耦合的软件开发方式 插件开发符合设计模式的单一职责原则和里氏代换原则 插件即插即用,非常灵活,适用于动态扩展功能的应用程序、大型项目等 本代码是插件管理实现的一种方式,可以动态的加载不同配置的不同插件,支持接口扩展 https://blog.csdn.net/qq_34552942/article/details/139214085?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139214085%22%2C%22source%22%3A%22qq_34552942%22%7D

2024-05-26

C++日志打印功能需求及实现

1. 固定路径(E:\\log\\)存储日志到txt文件中 2. txt文件以进程名和当前时间命名 3. 保存n个包含此进程名的txt文件,若超过删除旧文件 4. 输出日志包含错误等级、打印时间、用户输入内容,如: LOG_INFO 2023-3-9 15:54:4 134 用户想要输出的内容

2024-03-31

C#序列化和反序列化XML代码实现

XmlSerializer类 多级节点、属性指定说明

2022-11-13

C++ [ rapidjson 使用、封装、UT]、[Base64加码及解码]

C++ [ rapidjson 使用、封装、UT]、[Base64加码及解码]

2022-06-21

windug(win10x64).7z

Windows 调试程序 (WinDbg) 可用于调试内核模式和用户模式代码、分析故障转储以及在代码执行时检查 CPU 寄存器。

2021-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除