自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(492)
  • 资源 (63)
  • 收藏
  • 关注

原创 Sql 获取本年度开始时间和结束时间

Sql 获取本年度开始时间和结束时间

2020-07-01 09:18:46 2886 3

原创 C# Socket异步通讯

利用TCP/IP Socket与设备通讯,接收来自设备的数据,并发送一些指令控制设备做相应的动作,最初的时候写了个简单的socket同步的方法,即连接后利用轮询开启监听数据,这种方法也能用,目前也没发现什么问题,但是想到以后业务量增大,感觉还是改成异步比较好,所以参考了广大网络的智慧结晶写了一个异步的版本。...

2019-12-04 11:12:54 3610 3

原创 EMQX 和 MQTT 的关系

MQTT 是通信协议(规则),EMQ X 是实现这个协议的服务端软件(MQTT broker 消息服务器)。设备(客户端)→ 按 MQTT 协议 发消息 → EMQX 服务器 转发 → 其他订阅设备设备 / 程序(MQTT 客户端) → 遵循 MQTT 协议连接 → EMQX(MQTT Broker) → 发布 / 订阅主题,完成消息交互。

2026-09-20 09:19:44 167

原创 Mysql5.7.44+SQLyog的详细安装教程

选中要导出的数据库->选中数据库右击->备份/导出->备份数据库,转储到SQL->选择要导出存放的路径->导出。新建相同数据名称数据库->选中数据库右击->导入->执行SQL脚本->选择要导入的SQL脚本文件->执行。,会自动生成 data 文件夹。安装 Windows 服务。设置密码为 root。

2026-05-09 17:53:46 411

原创 Mysql5.1.41+SQLyog的详细安装教程

本文介绍了MySQL 5.1.41免安装版的配置与使用步骤:1)下载解压后配置my.ini文件;2)通过CMD初始化MySQL服务,设置root密码;3)验证服务启动后,使用SQLyog工具进行数据库管理,包括导出/导入SQL脚本。最终完成MySQL服务的安装配置,默认用户名root,密码root,端口3306,并实现开机自启动。

2026-05-07 16:39:08 538

原创 Excel 中把 Sheet页所有 “xxx” 字体标红

所有含 “不合格” 的单元格文字变红。

2026-04-13 09:48:40 230

原创 抓包工具 Wireshark 是什么?

Wireshark 是一个开源的网络协议分析器,它的核心功能是网络上流动的数据包,并出这些数据包的信息。它本身不会修改网络内容,也不会主动发出数据包,只是一个安静的“观察者”。:它最初在1998年以的名字诞生,后因商标问题在2006年更名为 Wireshark。:在GNU GPL许可证下发布,任何人都可以免费使用和修改。:支持 Windows、macOS、Linux 等主流操作系统。:支持数百种协议的解析,拥有强大的过滤和统计分析功能。

2026-03-19 13:36:03 701

原创 SQLiteStudio 介绍

是一款免费开源、跨平台的 SQLite 数据库管理工具,以轻量、直观、功能全著称,适合开发与运维场景。

2026-03-11 09:54:49 398

原创 C# Skip + Take 用法

1、Skip(n):跳过前n个元素,Take(n):取前n个元素,两者链式调用可实现精准截取。2、核心场景:分页(如 Skip (10).Take (10) 取第 2 页数据)、提取集合中指定位置的元素(如你的字节数组需求)。3、注意延迟执行特性,需通过ToArray()ToList()等方法触发实际执行。

2026-03-06 14:13:25 472

原创 位运算符有什么实际应用场景

1)位控制类:权限 / 状态掩码、硬件 / 协议位解析(你的核心场景);2)性能优化类:快速乘除、数据分片;3)协议解析类:网络 IP / 子网、颜色值 / 编码解析。

2026-03-05 15:29:31 427

原创 C# &(按位与)和|(按位或)

1)&(按位与):筛选位,用来判断 / 提取指定位(全 1 才 1);2)|(按位或):设置位,用来把指定位强制设为 1(有 1 则 1);

2026-03-05 14:23:58 455

原创 除了 string.Join() 方法,还有哪些方法可以将 List<string> 转换为字符串?

这是替代最常用的方案,尤其适合需要自定义拼接逻辑的场景(比如给元素加前缀 / 后缀、过滤空值),性能远优于直接字符串拼接。

2026-03-03 17:27:21 470

原创 除了C#,还有哪些语言支持目标类型new表达式

核心支持的语言:Java(JDK 16+)、Kotlin、TypeScript 是最接近 C# 目标类型 new 表达式的语言,均支持 “根据变量声明的类型,省略实例化时的类型名”;关键差异C# 的new()依赖 C# 9.0+,且要求类有无参构造;Java 的new()仅 JDK 16 + 支持,Kotlin 无版本限制且更灵活;核心逻辑这类简化语法的本质都是静态类型语言的 “类型推断” 特性,目的是减少代码冗余,提升可读性。

2026-03-03 17:24:30 834

原创 C# 不可变引用类型有什么优缺点

自定义不可变引用类型时,需要遵循严格的规则(字段readonly、无set属性、修改返回新对象等),比写普通可变类更繁琐;如果对象属性多(比如 10 个字段),写WithXXX方法(如WithNameWithAge)会很冗余。1)核心优点:天然线程安全、代码易维护、可安全复用、适合做哈希表键;2)核心缺点:频繁修改时内存 / 性能开销大、实现成本略高、嵌套不可变复杂度高;3)使用原则:状态稳定 / 需线程安全→不可变;频繁修改→可变,按需选择平衡优缺点。

2026-03-03 11:06:25 652

原创 C# 可变引用类型和不可变引用类型

Age = age;// “修改”年龄:返回一个新对象// 使用// p1 保持不变,p2 是新对象set;set;// 使用// p2 引用同一个对象// 修改 p1// Bob (26) —— p2 也变了特性可变引用类型不可变引用类型状态修改可以直接修改对象内容修改操作返回新对象线程安全通常不安全,需同步天然安全,可自由共享内存/性能修改原地进行,无需额外分配每次修改可能分配新对象适用场景需要频繁修改状态的场景需要共享、缓存、哈希键的场景。

2026-03-03 11:00:24 759

原创 C# Scoped 服务详解

Scoped 服务是在ASP.NET每个请求范围(Scope)创建一个实例在同一个 Scope 内,多次请求会得到同一个实例不同的 Scope 会创建不同的实例主要用于 HTTP 请求处理,每个 HTTP 请求对应一个 Scopeint?public int?.User?.Value?.User?.Identity?.Name;.User?.Identity??false;// 注册。

2026-01-21 13:44:50 924

原创 浅谈C# BackgroundWorker 和 BackgroundService 的区别

是 .NET Framework 2.0 引入的,主要用于 WinForms/WPF 等桌面应用程序中的后台任务处理。是 .NET Core 引入的,主要用于ASP.NETCore 应用程序中的后台任务处理。_logger.LogInformation("后台服务启动");while (!try// 使用 Scope 获取 Scoped 服务// 等待一段时间// 正常取消break;_logger.LogError(ex, "后台服务执行错误");

2026-01-21 10:54:51 555

原创 MySQL9.5.0+MySQL Workbench的详细安装教程

在这个路径下新建一个txt文件,名字叫my,修改后缀txt变为ini,然后输入下面的代码:(注意路径要改为上面那个解压的路径)(安装目录和数据的存放目录都需修改)(如果之前在电脑上装过Mysql,那么会报错,要执行下面的删除命令(sc delete mysql)后再安装,没装过就不用管)再系统变量里面点击新建,输入变量名和变量值:(变量名为MYSQL_HOME,变量值为刚刚的路径)切换到相应的目录下后,执行下面的命令:mysqld --initialize --console。

2025-11-06 13:50:51 1021

原创 C# TaskCompletionSource.SetResult 用法详解

SetResult用于手动完成任务并设置结果只能调用一次,后续调用会抛出异常推荐使用来避免异常适用于包装传统异步模式、实现超时控制等场景。

2025-10-31 14:52:50 484

原创 C#串口检查方法

【代码】C#串口检查方法。

2025-10-24 10:34:19 540

原创 C# 企业微信机器人消息推送

首先在企业微信中创建群聊,然后添加群机器人,获取webhook地址。

2025-10-24 10:01:10 873

原创 Java JDK8环境配置

jdk-8u271-windows-x64资源-CSDN下载

2025-08-13 17:51:18 394

原创 C# DataGridView导出到 Excel 并保持格式一致

EPPlus 5+ 需要设置 LicenseContext,如果是商业用途需要购买许可证。:对于几千行的数据,这个方法是可行的,但如果数据量更大(数万行),可能需要考虑分批处理。:代码会复制 DataGridView 单元格的背景色和字体颜色到 Excel 单元格。:将 DataGridView 中的文本内容和颜色样式同步到 Excel 单元格。:如果你更喜欢使用 ClosedXML,也有类似的 API 可以实现相同的功能。:如果需要复制更多格式(如边框、字体样式等),可以在代码中添加相应的处理逻辑。

2025-07-21 15:43:24 828

原创 Visual Studio Git提交代码提示Git failed with a fatal error.error: open(xxx): Permission denied fatal: xxx

Git failed with a fatal error. error: open(".vs/PdSimMeter/FileContentIndex/29c84339-5e4e-450c-947c-4047d10cf54e.vsidx"): Permission denied fatal: Unable to process path .vs/PdSimMeter/FileContentIndex/29c84339-5e4e-450c-947c-4047d10cf54e.vsidx错误原因:因为git上传

2025-07-16 19:10:19 1026

原创 如何处理从GetSchema方法返回的DataTable对象?

在 C# 中,处理从返回的对象时,通常需要遍历表格行()并提取所需的元数据。以下是常见的处理模式和示例:只获取基础表(排除视图):使用集合,并筛选特定表的列:创建模型类,批量转换数据:判断结果集是否包含特定列:使用 LINQ 查询(需引入):不同数据库的列名可能不同(如在 MySQL 中可能是,在 SQL Server 中可能是):

2025-07-12 10:56:58 377

原创 多线程数据共享BlockingCollection和ConcurrentQueue的区别

可设置最大容量,当队列满时,生产者线程会自动阻塞,形成天然的背压机制。无容量限制,生产者可无限添加,可能导致内存溢出。简单的生产者 - 消费者模式、自动阻塞、容量限制、优雅的完成标记。高性能无锁队列、手动控制生产消费逻辑、自定义扩展。专注于高效的队列操作,无额外抽象层,性能更优。可包装多种并发集合(如。),支持自定义数据结构。

2025-07-11 11:07:29 826

原创 电力系统IEC-104报文主要常用详解

I帧与S帧中的发送序号和接收序号用来防止I帧报文在传送过程中丢失或者重复。发送方每发送一个I格式报文,其发送序号应加1,接收方每接收到一个与其接收序号相等的I格式报文后,其接收序号也应加1。由于代表序号的最后一位未使用(一直为0),所以报文中“序号”像是以“2”为步长进行递增。当子站发送了若干帧I格式报文后,需要主站用S格式报文予以确认,S格式报文会将子站发送的发送序号小于等于其接受序号的报文全部确认。S格式和U格式报文的发送不会改变子站发送的I格式报文中的发送序号序列。

2025-07-10 10:05:13 2898 2

原创 C# ConcurrentDictionary 中获取指定范围的元素

需要注意的是,ConcurrentDictionary 的元素顺序是不确定的,除非你显式排序。如果元素的顺序对你很重要,建议使用其他有序集合或在查询时明确指定排序方式。不过需要注意的是,ConcurrentDictionary 是无序集合,获取的元素顺序可能不固定。中获取第 2 到第 5 个元素(索引 1 到 4,因为索引从 0 开始),可以使用 LINQ 的。这段代码的核心是使用。

2025-06-11 16:55:54 465

原创 C# StringBuilder代码中预分配容量的作用

初始容量通常为 16,随着内容增加,会触发多次内存重新分配(16 → 32 → 64 → 128 → 256 → ...)。一次性分配足够的内存(如 800),整个过程无需重新分配,效率显著提升。通过合理预估并分配初始容量,可以显著减少内存操作开销,提升代码执行效率。对于极大量数据(如百万级字符),可考虑分批处理或使用更高效的数据结构。根据输入数据的规模和特征,估算最终字符串的大致长度。对于大数据量的字符串拼接,预分配容量可能带来。构造函数预分配足够的容量,可以。,从而提高字符串拼接的效率。

2025-06-10 15:43:43 520

原创 C# 如何从ConcurrentDictionary中获取并移除第二个元素

是无序集合,"第二个元素" 的定义可能依赖于迭代顺序(通常是插入顺序,但不保证)。中获取并移除第二个元素,需要先获取元素的快照,然后尝试移除指定位置的元素。如果需要严格控制元素顺序,建议使用。

2025-06-07 09:15:00 398

原创 C# 从 ConcurrentDictionary 中取出并移除第一个元素

C# 从 ConcurrentDictionary 中取出并移除第一个元素要从中取出并移除第一个元素,需要结合和。由于是无序集合,"第一个元素" 通常是指最早添加的元素(按插入顺序)。

2025-06-04 17:19:49 883

原创 在 Windows 中使用 IHost 创建和运行 Windows 服务

在 C# 中,使用IHost接口创建 Windows 服务是一种现代且灵活的方式,特别是在 .NET Core 和 .NET 5+ 中。

2025-05-31 10:30:00 627

原创 如何处理 ConcurrentDictionary 中已存在的键

在使用时,处理已存在的键通常需要根据业务需求选择合适的方法。

2025-05-28 09:20:18 623

原创 如何避免 ConcurrentDictionary 中的键冲突

在使用时,避免键冲突的关键在于和。

2025-05-28 09:16:21 684

原创 列举一些RTU和PLC在工业自动化领域的实际应用案例

以下是一个简化的 PLC 控制汽车生产线的程序示例,使用结构化文本(Structured Text)语言编写,模拟汽车车身焊接、喷涂和装配的基本流程。

2025-05-27 08:39:33 585

原创 RTU与PLC在功能上有哪些异同点?

RTU(远程终端单元)和 PLC(可编程逻辑控制器)均为工业自动化领域的核心设备,但在功能定位、应用场景等方面存在显著差异。均配备串口(RS232/RS485)、网口等通信接口,用于连接传感器或上位机。

2025-05-27 08:35:53 1460

原创 举例说明MyBatis中逻辑分页的优缺点

逻辑分页的。

2025-05-26 10:05:39 543

原创 如何在MyBatis的动态SQL中进行分页查询

MyBatis 加载全部数据到内存后,通过。:通过 SQL 语句直接在数据库层实现分页。:编写完整的查询 SQL(无需分页参数)。分页查询通常依赖排序,确保排序字段有索引。这种大偏移量查询,可通过索引覆盖或。:数据量较小,或需要兼容多种数据库。指定偏移量和每页数量。:数据量大,需优化性能。:正常定义查询方法。)自动处理分页逻辑。

2025-05-26 10:03:19 1230

原创 进程守护服务优点

进程守护服务通过 “监控 - 检测 - 恢复 - 报警” 的闭环机制,解决了进程运行中的稳定性难题,是保障系统可靠性、降低运维成本的核心技术手段。在实际应用中,需根据业务需求选择合适的工具,并结合日志分析、性能监控等形成完整的系统保障体系。进程守护服务(Process Watchdog Service)是一种用于监控和管理进程运行状态的工具或机制,其核心目标是确保关键进程持续稳定运行,自动处理进程异常(如崩溃、无响应、意外终止等)。

2025-05-25 09:45:00 963

原创 触发进程守护服务的判断因数

手动关闭程序是否会触发进程守护服务,取决于。

2025-05-25 09:00:00 1503

USB转串口驱动(包含Windows10\11\XP、RT、Linux、MAC、Android)

USB转串口驱动安装包

2024-10-17

系统内核分析工具(64位和32位)

系统内核分析工具(64位和32位)

2024-09-13

Net6.0运行环境安装包

Net6.0运行环境安装包

2024-09-10

C#编写的USB通信实例(含源码)

C#编写的USB通信实例(含源码)

2024-08-07

Modbus从站模拟软件

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

2024-08-01

蓝牙适配器V1.8,亲测可用

蓝牙适配器V1.8

2024-07-09

蓝牙适配器V1.8,亲测可用

蓝牙适配器V1.8

2024-07-09

ToDesk安装包-远程连接

ToDesk安装包-远程连接

2024-06-03

python 3.11 window 64位安装包

python 3.11 window 64位安装包

2024-06-03

Git Windows 64位安装包

Git Windows 64位安装包

2024-06-03

7-Zip解压缩软件安装包

7-Zip解压缩软件安装包

2024-04-08

简约好用的TCP&UDP小工具

简约好用的TCP&UDP小工具

2024-04-03

悦书PDF阅读器安装包

悦书PDF阅读器

2024-02-01

C#蓝牙检索、通讯.rar

通过第三方库InTheHand.Net.Personal.dll,检索附近可用蓝牙设备,实现通信,可直接运行

2023-12-20

迷你PDF阅读器免安装版

迷你PDF阅读器免安装版

2023-12-19

MySql WorkBench 64位安装包

MySql WorkBench 64位

2023-12-11

使用SqlSugar操作MySQL/SQL Server数据库

使用SqlSugar操作MySQL/SQL Server数据库

2023-12-06

Charset-v0.4.1.crx-.zip

包含具体使用流程

2023-11-30

SocketAsyncEventArgs 异步Socket

C# SocketAsyncEventArgs是一个套接字操作得类,主要作用是实现socket消息的异步接收和发送,跟Socket的BeginSend和BeginReceive方法异步处理没有多大区别,它的优势在于完成端口的实现来处理大数据的并发情况

2023-11-23

Windows TscanCode安装包

Windows TscanCode代码扫描工具安装包

2023-10-23

免费-免安装-MySql数据库工具-dbms

免费_免安装_MySql数据库工具_dbms

2026-10-13

一款免安装的杀毒软件SfabAntiBot

一款免安装的杀毒软件SfabAntiBot

2026-07-31

USB转串口驱动-Win11亲测可用

USB转串口驱动-Win11亲测可用

2026-07-15

MySql数据库社区版-9.5.0

MySql数据库社区版-9.5.0

2025-11-07

mysql-5.7.44-winx64 免安装版

mysql-5.7.44-winx64 免安装版

2026-05-09

mysql-noinstall-5.1.41-winx64 免安装版

mysql-noinstall-5.1.41-winx64 免安装版

2026-05-07

SQLyog-13.3.1-0.x64Community 安装包

SQLyog-13.3.1-0.x64Community 安装包

2026-05-07

以太网抓包工具 Wireshark

以太网抓包工具 Wireshark

2026-03-19

SQLiteStudio Windows 64位安装包

SQLiteStudio Windows 64位安装包

2026-03-11

jdk-8u271-windows-x64

jdk-8u271-windows-x64

2025-08-13

putty-64bit-0.75-安装包

Putty是Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具

2025-04-15

MobaXterm-免安装版

MobaXterm-免安装版

2025-03-12

VSPD-虚拟串口工具

VSPD-虚拟串口工具

2025-01-15

基于Spring Boot开发的员工信息管理系统(前后端分离)

基于Spring Boot开发的员工信息管理系统(前后端分离)

2024-11-14

汇川机器人开发API文件

汇川机器人开发API文件

2024-10-29

网络安全等级保护PDF文件

网络安全等级保护PDF文件

2024-10-29

数据库管理工具navicat

数据库管理工具navicat

2024-10-29

Windows桌管信息安全管控软件

Windows桌管信息安全管控软件

2024-10-29

dotNet代码打包加密工具

dotNet代码打包加密工具

2024-10-29

系统内核分析工具-32位64位

系统内核分析工具-32位64位

2024-10-17

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

TA关注的人

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