管理

随笔分类 -  【07】C#相关

1 2 3 4 5 ··· 11 下一页

摘要:1. 拥抱主构造函数 我曾重构过一个拥有多个构造函数的类,每个构造函数都初始化相同的属性。代码混乱不堪。直到我发现C#的主构造函数——它允许直接在类声明中定义参数,彻底消除了样板代码。 public class Person(string name, int age) { public string 阅读全文

posted @ 2025-12-15 00:00 lzhdim

摘要:本文将揭秘七个实战技巧,助你跨越“功能实现”到“优雅代码”的鸿沟。通过正反案例对比与技术心法,重构代码思维模式,让代码兼具可读性与可维护性。 1. 命名即语义:让代码自述其意 代码即故事,变量/方法/类名如同角色命名。你会阅读主角名为x或data的小说吗? ❌ 糟糕命名: public int Ca 阅读全文

posted @ 2025-12-11 00:00 lzhdim

摘要:一、简介 PDFsharp 是一个功能强大且免费开源的 .NET 库,专为创建、修改和处理 PDF 文档而设计。它支持多种功能,包括但不限于创建 PDF 文件、插入文本和图像、格式化内容、合并与拆分 PDF 文件、加密与解密等。PDFsharp 跨平台特性使其能够兼容 Windows、macOS 和 阅读全文

posted @ 2025-12-08 00:00 lzhdim

摘要:上次写的Panel里控件拖放的例子( https://www.cnblogs.com/lzhdim/p/18969270 ),其实是为了此次的小应用做功能分解的实现。这次记录的是类似Windows11的开始菜单的功能应用的例子。不过这次的普通版只实现了拖放功能,另一个形成应用组的应用等下次再发布。 阅读全文

posted @ 2025-12-01 00:00 lzhdim 阅读(2403) 评论(0) 推荐(0)

摘要:应用的异常处理在应用里是比较常见的使用,一般情况下尽量不使用try-catch来捕获异常并处理,而是以其它代码的情况来进行判断。今天讲的是自定义异常的定义和处理方式的例子,让读者更好的理解和应用自定义异常。 自定义异常一般的情况为: a) 定义所有异常类;(继承Exception基类) b) 抛出需 阅读全文

posted @ 2025-11-03 00:30 lzhdim 阅读(6917) 评论(0) 推荐(0)

摘要:在C# 开发的广袤天地里,你是否常常渴望能有一种神奇的力量,让代码的性能实现飞跃式提升?今天,就为大家揭开10个能让C# 性能暴增300% 的黑科技代码的神秘面纱,这些代码或许是你在日常编码中从未使用过,却能极大改变开发效率与程序性能的“秘密武器”。 一、对象初始化语法,简洁高效的构建 在创建对象并 阅读全文

posted @ 2025-10-27 15:35 lzhdim

摘要:在 C# 编程中,委托和事件是实现回调机制和发布-订阅模式的核心技术。它们让对象之间能够进行松耦合的通信,是构建可扩展应用程序的重要工具。 1. 委托(Delegate) 1.1 委托的基本概念 委托是一种类型安全的函数指针,它定义了方法的签名,可以引用任何与其签名匹配的方法。 // 声明一个委托p 阅读全文

posted @ 2025-10-15 19:58 lzhdim

摘要:前言 在 C# 开发中,多线程通信对大多数开发者而言已是驾轻就熟——无论是 AsyncLocal、ThreadLocal,还是通过 CallContext 的 GetData/SetData 方法,都能信手拈来。然而,多进程通信(Inter-Process Communication, IPC)虽然 阅读全文

posted @ 2025-10-14 10:00 lzhdim

摘要:那次事故无关分号缺失或语法错误,而是基础设计缺陷。我曾自诩高效,键盘飞舞间写出成行C#代码,实则堆砌着让项目寸步难行的技术负债。 从业多年,我目睹无数开发者(包括我自己)反复掉入相似陷阱。最致命的是,这些错误初期看似无害,最终却演变成灾难。想成为高效C#开发者,请在学习语言时同步避开以下错误。 1. 阅读全文

posted @ 2025-10-02 15:52 lzhdim

摘要:今天讲讲应用里的等待窗体的例子。 在实际的使用中,有时候如果应用需要长时间的运行某个函数或线程,这时候就需要显示一个等待界面,提示用户进行等待,让应用进行处理。于是就写了个简单的等待窗体的例子,需要的读者请自己复用代码。 1、 项目目录; 2、 源码介绍; 1) 整个窗体等待; 这个就是将等待窗体覆 阅读全文

posted @ 2025-09-22 16:30 lzhdim 阅读(9927) 评论(0) 推荐(0)

摘要:C#相关书籍 《CLR via C# 第4版框架设计》 《CLR via C#(第4版)》针对CLR和.NET Framework 4.5进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分共29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型 阅读全文

posted @ 2025-09-19 19:22 lzhdim

摘要:nuget搜索:System.Speech 使用: private void SpeakAsync() { // 创建一个语音合成器实例 using (SpeechSynthesizer synthesizer = new SpeechSynthesizer()) { synthesizer.Rat 阅读全文

posted @ 2025-09-11 09:30 lzhdim

摘要:NodaTime 是一个为 .NET 设计的开源高级日期和时间库,提供了比 .NET 框架自带的 DateTime 和 DateTimeOffset 更加丰富和可靠的日期时间操作功能。 1. 安装 NodaTime 首先,通过 NuGet 安装 NodaTime 包: Install-Package 阅读全文

posted @ 2025-09-01 15:15 lzhdim

摘要:上次写了C#无边框窗体的磁吸等效果( https://www.cnblogs.com/lzhdim/p/18859355 ),这次讲讲老话题:无边框窗体的移动。其实在那个效果的例子里已经有代码了,当时分成两个源码例子,所以此例子也是两个例子的源码展示。 这个以前在写VB6的代码时就有写过,当时还写了 阅读全文

posted @ 2025-08-04 14:16 lzhdim 阅读(10112) 评论(0) 推荐(0)

摘要:上次写了Panel的分页滚动控件( https://www.cnblogs.com/lzhdim/p/18958527 ),但是主要是想写一个Panel里控件拖放的效果,然后分页控件用于Panel里控件的分页。此文这次写的是控件拖放效果,这个与Windows 11开始菜单的那个拖放效果一致的,与手机 阅读全文

posted @ 2025-07-28 15:00 lzhdim 阅读(10089) 评论(0) 推荐(0)

摘要:上次编写了窗体磁吸屏幕和限制在屏幕内移动的源码: https://www.cnblogs.com/lzhdim/p/18859349,https://www.cnblogs.com/lzhdim/p/18859191。 这次将这两个结合起来,组成新的类库和基类,用于同时需要这两个功能的窗体例子。 1 阅读全文

posted @ 2025-07-20 21:00 lzhdim 阅读(10242) 评论(0) 推荐(0)

摘要:上次记录了窗体磁吸屏幕的源码(https://www.cnblogs.com/lzhdim/p/18859191),这次再接再厉,写一个窗体限制在屏幕内移动的例子。源码比较简单,就是判断窗体是否移动到屏幕边缘,超出则限制窗体的位置。 1、 项目目录; 2、 源码介绍; 1) 类库方法: 2) 基类方 阅读全文

posted @ 2025-07-14 16:02 lzhdim 阅读(10105) 评论(0) 推荐(0)

摘要:前些时候发布了一个Panel控件分页滚动控件的源码( https://www.cnblogs.com/lzhdim/p/18866367 ),不过那个的页面切换的时候是直接切换控件的高度或水平度的,体验一般,这次就重新写了一个滑动显示版(就是切换页面的时候控件有滑动效果),具体请读者自己下载源码复用 阅读全文

posted @ 2025-07-06 12:00 lzhdim 阅读(10243) 评论(2) 推荐(0)

摘要:前言 想象一下,你正在一家忙碌的咖啡馆里工作,顾客络绎不绝,你不停地跑前跑后,累得直喘气。 如果你能同时准备几杯咖啡,效率是不是会大大提高? 这就是并发编程的魅力所在。 今天,我们就来聊聊 C# 中的 Task,看看它是如何帮助我们在代码中实现“多任务并行”的奇迹。 1. Task.Run:简单高效 阅读全文

posted @ 2025-06-17 12:00 lzhdim

摘要:前言 嗨,大家好! 作为一名 C# 程序员,你一定遇到过这样的问题: 在给客户演示软件功能时,你精心编写的 WinForms 桌面应用程序运行得好好的,突然抛出一个未捕获的异常,用户面前弹出一个吓人的错误窗口,然后就莫名其妙地关闭了,毫无预警。 这不仅让用户感到困惑,也让作为开发者的你感到无比尴尬。 阅读全文

posted @ 2025-05-29 09:34 lzhdim

1 2 3 4 5 ··· 11 下一页
Copyright © 2000-2022 Lzhdim Technology Software All Rights Reserved