win
-
C# 进程(Process)类的用法 – 启动和控制外部应用程序
Process类位于System.Diagnostics命名空间,用于启动、控制和交互外部程序;支持直接启动、参数配置、输出重定向、进程监控及获取系统运行进程等功能。 C# 中的 Process 类位于 System.Diagnostics 命名空间下,它允许你启动、控制和与外部应用程序进行交互。通…
-
C# async/await的底层原理是什么 – 深入解析状态机与线程上下文
async/await基于编译器生成的状态机实现,每次await暂停会保存执行状态,恢复时从中断点继续;其核心是编译器将异步方法转换为实现IAsyncStateMachine的结构体,通过MoveNext()驱动流程。await操作依赖awaiter对象的IsCompleted、OnComplete…
-
C# WinForms入门教程 – 创建经典的桌面应用程序
WinForms是C#快速开发桌面程序的首选,创建项目后通过拖拽控件并编写事件响应代码即可实现交互,如点击按钮改变标签文本。常用控件包括Button、Label、TextBox、CheckBox、ComboBox和DataGridView,支持输入、选择与数据展示。通过设置属性可优化界面,如调整窗体…
-
.NET中的日志记录框架:Serilog与NLog的比较和使用
Serilog侧重结构化日志与现代可观测性,适合云原生应用;NLog强调配置灵活性与运行时控制,适用于传统或混合环境。两者均支持ASP.NET Core集成、高性能输出及丰富扩展,选择取决于具体需求:Serilog更适合需集中分析的日志流水线,NLog更适配企业级多样化输出场景。 在 .NET 应用…
-
C#能开发游戏吗?Unity引擎C#游戏开发快速入门教程
C#能开发游戏,且是Unity引擎的官方语言,适合2D/3D跨平台游戏开发。凭借语法简洁、集成度高、资源丰富等优势,结合Unity的实时调试与可视化编辑,新手可快速上手。通过安装Unity和Visual Studio,创建项目并编写继承MonoBehaviour的脚本,如PlayerMover控制物…
-
C# .NET中的AOT(Ahead-of-Time)编译是什么 – 提升启动性能和减小体积
AOT编译是.NET 7起支持的发布时将C#编译为原生机器码的技术,提升启动速度、减小体积(配合Trimming),适用于Serverless、桌面工具等场景,但受限于反射emit等动态特性。 AOT(Ahead-of-Time)编译是 .NET 中一种将 C# 代码在发布时直接编译为原生机器码的技…
-
C# 如何处理Excel文件 – EPPlus和NPOI库的使用
EPPlus轻量高效,适合.xlsx格式;NPOI功能全面,兼容.xls与.xlsx,支持样式、公式及老版本。选型依需求:简单场景用EPPlus,复杂格式或兼容性要求高则选NPOI。 处理Excel文件在C#开发中很常见,EPPlus和NPOI是两个主流的开源库,各自适合不同场景:EPPlus轻量、…
-
如何将项目从.NET Framework迁移到.NET 8?一份详尽的步骤指南
迁移需先评估项目类型与依赖兼容性,使用.NET Upgrade Assistant分析,转换为SDK风格项目文件,替换弃用API如System.Web,更新至EF Core和新配置系统,重构启动流程至Program.cs,全面测试后通过Docker或IIS部署,逐步推进确保稳定。 将项目从 .NET…
-
C#和.NET到底是什么关系?一文彻底搞懂.NET生态系统
C#是编程语言,.NET是运行平台。1. C#由微软开发,用于编写各类应用;2. .NET提供CLR和BCL,支持多语言运行;3. C#编译为IL,在.NET的CLR中通过JIT转为机器码执行;4. .NET经Framework、Core演进至统一的跨平台版本,现推荐使用.NET 6+。 C# 和 …
-
WPF在2024年还值得学习吗?现代.NET桌面应用开发指南
WPF在2024年仍具价值,适合工业自动化、专业工具开发等方向。其基于.NET和C#的强大生态,具备优秀UI表现力、高效MVVM模式、深厚行业积累及强硬件集成能力。适合匹配职业规划者学习,需扎实掌握C#基础、动手做项目、理解底层机制,持续需求存在于维护升级与特定领域应用中。 WPF在2024年依然值…