C#实现设置Word段落对齐样式的方法详解
目录安装免费库核心知识点:HorizontalAlignment 枚举设置 Word 段落对齐样式:C# 代码示例案例1:创建新文档并设置不同段落对齐样式案例2:修改现有 Word 文档的段落对齐样式注意事项总结段落对齐是Word文档格式排版的基础需求,合理的对齐样式能提升文档的可读性和美观度。Free Spire.Doc for .NET 是一款免费的 Word 文 ...
C# params基本语法及典型用法
目录一、params基本语法二、params Type[] interfaceTypes的典型用法场景:检查某个类型是否实现了指定的一组接口调用示例:三、其他常见用途1. 动态创建实现多个接口的代理(如 Castle DynamicProxy)2. 注册服务时指定多个接口3. 断言对象是否实现某些接口(单元测试)四、注意事项❗ 1.params参数可以为null❗ 2. 类型安 ...
C# winform自定义控件的实现方法
目录创建自定义控件增加属性方法调用控件在winform开发中,有时候需要对原有控件进行修改,本文就textbox控件为例,增加不能复制、粘贴、剪切textbox文本框内的内容。详细介绍如何实现。
创建自定义控件
增加属性方法
//注意继承父类对象,System.Windows.Forms.TextBox
public partial class NoCopyPasteTextBox : Syste ...
C#运行外部程序的两种方法小结
目录ShellExecute调用ProcessShellExecute
using System.Runtime.InteropServices;
public enum ShowWindowCommands : int
{
SW_HIDE = 0,
SW_SHOWNORMAL = 1, //用最近的大小和位置显示,激活
SW_NORMAL = 1,
SW_SHOWMINIMIZED = 2,
SW_SHOWMAXIMIZED = 3,
SW_MAXIMIZE = 3,
SW_SHOWNOAC ...
C#AI系列(6): C#离线实现高效OCR
本文代码已开源,仅需关注 萤火初芒 公众号回复AISharp即可查看仓库地址,获取完整项目及模型数据,供学习交流使用,无套路(部分测试图片为网图,侵删)。
本文项目在笔记本电脑上(Windows, NET10, x64)就可以自己动手尝试OCR, 实现如身份证识别、截图文本识别、扫描图转pdf等功能。
一、OCR的实现基础
实现OCR,我们直 ...
C#AI系列(5): 从零开始 C# 轻松语音识别
人工智能历经多年演进,昔日高门槛的图像与语音识别任务,如今已有成熟的开源框架可供免费使用,只要花点时间,就可以零成本部署。本文以语音识别为例,看如何高效的将语音识别功能集成至C#系统中,后续大家可以继续完善扩展,去处理如语音指令、语音交互、字幕生成、会议纪要分析、语音翻译等相关任务。
本文项目在笔记本 ...
C#/.NET/.NET Core优秀项目和框架2025年11月简报
前言
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后 ...
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
前言
在 .NET 里写查询的时候,很多场景下数据其实早就都在内存里了:不是数据库连接,也不是某个远程服务的结果,而就是一个数组或者 List<T>。我只是想过滤一下、投影一下。这时候,通常有几种选择:
写一个 foreach 循环 —— 性能好、可控,但代码稍微有点啰嗦;
用 LINQ —— 写起来舒服,看起来也优雅,就是有迭代器 ...
九成九新自用C#入门文档
C#九成九新个人用入门指南
前言
如果你是第一次学习编程,那么,可能会非常困难,如果你曾经学过面向对象的编程语言,那么可能会非常轻松
C:你干脆直接提我名字得了吧
在我们正式学习之前,我需要讲几个比较基础的知识
1. 高级语言,低级语言,强类型,弱类型
高级语言和低级语言,这两个概念对初学者来会非常头疼,网上 ...
从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
本文回顾微软 .NET 与 C# 语言从跨平台起步到统一平台、再到现代化性能优化的全过程。每个版本都配有简明 Demo 代码,便于开发者快速掌握特性变化与实践。
一、.NET Core 时代:跨平台的开端
1. .NET Core 1.x(C# 7.0)
发布时间:.NET Core 1.0 于 2016-06-27 发布。
意义:标志 .NET 生态迈向真正跨平台、开源。
...
我最喜欢的 C# 14 新特性
C# 14 无疑是一个令人翘首以盼的版本,它带来了许多新特性和改进,旨在让我们的编程工作更加高效和便捷。官方公布的新特性列表相当丰富,包括:
扩展成员 (Extension members)
空条件赋值 (Null-conditional assignments)
nameof 支持未绑定泛型类型 (nameof with unbound generic types)
为 Span<T> 和 ReadOnlySpan<T> ...
C#.Net筑基-泛型T & 协变逆变
01、什么是泛型?
泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。
泛型就是为代码能 跨类型复用 而设计的,轻松复用代码逻辑,如 ...
C#.Net筑基-优雅LINQ的查询艺术
Linq(Language Integrated Query,集成查询语言),顾名思义就是用来查询数据的一种语言(可以看作是一组功能、框架特性的集合)。在.NETFramework3.5(大概2007年)引入C#,用统一的C#语言快速查询各种数据,如数据库、XML文档、对象集合等等。Linq的诞生对 C# 编程领域产生了深远而持久的影响,改变了开发人员对查询的 ...
LinqPad:C#代码测试学习一品神器
01、LinqPad是干嘛的?
LinqPad 是一个可编写、运行C#(VB/F#/SQL)代码的轻量工具,C#开发者强烈推荐必备的工具,一个一旦用了就再也不想丢弃的工具。工具出自《C# 核心技术指南》的作者Joseph Albahari,一位.Net资深技术专家。
🎉主要应用场景:
快速代码功能测试(功能测试、性能测试),这可能是最常用的场景了。
把 ...
C# WinForms 实现打印监听组件
一、组件简介
打印监听组件是一款集成于 Windows 桌面环境的打印任务管理与监控工具,适用于企业级应用场景。它不仅支持多打印机任务的实时监控,还能通过 WebSocket 与外部系统集成,实现自动化打印、任务状态反馈、远程控制等功能。
二、界面功能介绍
1. 主界面与托盘集成
主窗体:采用 WinForms 界面,包含多标签页(Ta ...
C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
引言:线程安全与锁的基本概念
线程安全
在多线程编程中,保障共享资源的安全访问依赖于有效的线程同步机制。理解并处理好以下两个核心概念至关重要:
线程安全:指某个类、方法或数据结构能够在被多个线程同时访问或修改时,依然保持内部状态的一致性,并产生预期的结果。这通常意味着需要对共享状态(如全局变量、静态变 ...
C#-Visual Studio工具使用实践
Visual Studio —— 毋庸置疑的宇宙第一综合性编程IDE,可用于构建 Web、云、桌面、移动应用、服务和游戏。
📢 推荐安装Enterprise 企业版!功能最全。
01、Visual Studio基础配置
1.1、必备快捷键
快捷键
说明
Ctrl+C/V/X
常规的复制、粘贴、剪切,程序猿核心技能
Ctrl+Shift+V
会显示历史的剪切板内容,Win+ ...
C#代码如何影响CPU缓存速度?
CPU与RAM的隔阂
CPU与RAM是两个独立的硬件,并非集成在一起。所以他们两个之间一定会存在一个连接的桥梁,这个桥梁的名字叫做内存总线。
内存总线由三部分组成:
地址总线(Address Bus)
用于传输内存地址,也就是我们经常看到的0X77F84FAB这种类似的内存地址,一根总线代表一个电信号,一个电信号能传递高电平/低电平两种 ...
一种更简单的方式运行 C# 代码,简化 C# 开发体验!
前言
前段时间 .NET 10 Preview 4 推出了一种更简单的方式运行 C# 代码,即可以直接使用dotnet run file.cs 命令运行 C# 文件。这意味着我们不再需要创建项目文件或搭建整个应用程序框架,就能够快速运行脚本、测试代码片段或验证想法。
dotnet run file.cs的作用
dotnet run file.cs你可以直接运行一个独立的 C#  ...
换个方式用C#开发微信小程序
pre { overflow-y: auto; max-height: 300px }
前一阵子帮朋友开发个微信小程序,一开始使用Wechat Devtools开发,实在受不了转用uniapp开发。后来突发奇想能否将C#写的PixUI编译成WebAssembly,由微信小程序加载运行。先上网搜了下小程序使用blazor的文章,都是用WebView包了一下blazor应用,没有参考价值,还是自己动 ...