- 博客(28)
- 收藏
- 关注
原创 C# WinForm Socket 服务器 + 串口转发
本文介绍了一个基于Socket和串口通信的Modbus服务器实现方案。系统通过TCP Socket接收客户端请求,转发至串口设备,并将设备响应回传给所有客户端。核心功能包括:1) 使用异步Task管理多客户端连接(List<Client>集合);2) 串口通信实现Modbus协议数据传输;3) 跨线程UI更新通过Invoke解决;4) 配置文件(INI)管理网络参数;5) 资源释放机制防止端口占用。
2026-08-04 19:15:55
410
原创 C# WinForm Socket 类 常用方法 (C# .NET,TCP 场景)
C#.NET中Socket类的TCP通信方法分为服务端专用和两端通用两类。服务端需按顺序调用Bind()绑定IP/端口、Listen()开启监听、阻塞方法Accept()等待连接(返回独立Socket对象)。客户端通过Connect()连接服务端。通用方法包括:Send()发送字节数组、阻塞方法Receive()接收数据(需处理阻塞问题)、Shutdown()优雅关闭连接及Close()释放资源。
2026-08-03 19:34:49
352
原创 C# WinForm TCP Socket
本文系统介绍了C#中Socket编程的核心知识,包括:1)Socket基础概念(TCP协议、IP地址+端口号组成套接字);2)关键类(Socket、IPAddress、IPEndPoint)的使用方法和常用API;3)TCP通信标准流程(服务端绑定监听、客户端连接、数据收发);4)重点技术:字节数组与字符串转换、多线程任务处理(Task)、跨线程控件访问(Invoke)、客户端集合管理(Dictionary/List);5)开发注意事项(阻塞方法处理、资源释放、多客户端通信实现)。内容涵盖网络通信
2026-08-03 19:25:02
318
原创 SQL Server 分页查询 ROW_NUMBER () OFFSET...FETCH游标(Cursor) 数据插入
本文介绍了SQL Server中两种分页查询方法和两种数据插入方式。分页查询部分详细讲解了ROW_NUMBER()和OFFSET-FETCH两种语法,包括参数定义、核心语法和版本适用性对比。数据操作部分对比了游标(逐行处理)和INSERT INTO...SELECT(批量插入)两种方式,分析其语法结构、使用场景和效率差异。文章通过具体代码示例演示了每种方法的实现过程,并提供了关键语法解释和应用场景说明,帮助开发者根据实际需求选择最合适的数据库操作方法。
2026-07-14 21:16:36
444
5
原创 c#winform基础合集6 Directory 文件夹目录 + 递归 文件对话框(OpenFileDialog / FolderBrowserDialog)+ 对象本地存储(自定义类读写文件)
本文介绍了C#中三种文件系统操作技术: Directory类:用于创建/删除/检查目录,获取文件/子目录列表,支持递归遍历目录结构 文件对话框: OpenFileDialog:支持文件筛选、单选/多选文件 FolderBrowserDialog:获取用户选择的文件夹路径 对象本地存储:通过序列化(二进制/Xml)实现自定义类的持久化存储,包含BinaryFormatter和XmlSerializer的使用方法及注意事项 每种技术均提供了典型语法示例和实用场景说明,涵盖从基础目录操作到复杂对象存储的完整解决方
2026-07-13 20:29:38
354
原创 c#winform基础合集5 Binary Buffered File类 Stream DriveInfo FileInfo Path类 using语句
本文摘要: 文章系统介绍了C#文件与流操作的核心组件及用法:1)using语句自动释放资源;2)BinaryWriter/BinaryReader实现二进制结构化数据读写;3)BufferedStream通过缓存提升大文件IO效率;4)File类提供静态文件操作方法;5)StreamReader/StreamWriter处理文本文件及编码;6)DriveInfo获取磁盘信息;7)FileInfo操作文件属性;8)Path类处理跨平台路径。每种组件均配典型代码示例,涵盖资源管理、数据格式、性能优化等关键场景。
2026-06-22 14:06:48
448
1
原创 c#winform基础合集4 TreeViel、ListViel、 菜单栏、工具栏、StatusStrip、Notyfylcon 、控件组件、FileStream
本文概述了WinForm开发中常用控件的核心功能和使用方法:1. TreeView用于展示层次数据,重点介绍了节点操作、复选框和图标显示功能;2. ListView支持多种视图模式展示数据,详细说明了列定义和多列数据显示;3. 菜单栏(MenuStrip)和工具栏(ToolStrip)提供命令集合与快捷访问;4. 状态栏(StatusStrip)显示应用状态信息;5. NotifyIcon实现系统托盘图标功能;6. FileStream进行文件读写操作。这些控件组合使用可构建功能完善的Windows窗体应用
2026-06-15 19:27:43
204
原创 c#winform基础合集3 日期选择器 进度条 Panel DataTable Timer DataGridView
本文摘要: 本文系统介绍了Windows窗体开发中6个常用控件的核心属性和功能:1)DateTimePicker(日期选择器)的日期格式设置与范围限制;2)ProgressBar(进度条)的数值控制与样式设置;3)Panel(面板)的布局管理与自定义绘制;4)DataTable(数据表)的结构定义与数据绑定;5)Timer(定时器)的周期性任务实现;6)DataGridView(数据网格)的数据展示与交互事件。每种控件均通过典型应用场景和代码示例说明其核心用法,为窗体界面开发提供实用参考。
2026-06-15 09:57:25
381
原创 c#winform基础合集2 窗体切换、窗体传值 、radioButton、checkBox、ListBox、comboBox、imageList、PectureBox、numbericupdown
摘要:本文介绍了WinForms常用控件的核心属性和使用方法,包括窗体切换(Show/ShowDialog)、窗体传值(构造函数、属性、委托)、单选按钮(RadioButton)、复选框(CheckBox)、列表框(ListBox)、下拉框(ComboBox)、图像列表(ImageList)、图片框(PictureBox)和数字上下控件(NumericUpDown)。重点讲解了各控件的关键属性、事件和典型应用场景,如模态窗体传值、多选列表操作、图片显示模式等,并提供了简洁的代码示例
2026-06-11 17:25:52
571
原创 c#winform基础合集1 窗体控件 Lable控件 TextBox控件 Button控件 颜色控制
本文介绍了WinForm中常见控件的关键属性和使用方法。窗体(Form)作为基础容器,包含Text、Size等属性及Load、Click等事件;Label控件用于显示静态文本,可通过Text、Font等属性设置样式;TextBox控件支持单行/多行文本输入,具有MaxLength、PasswordChar等特性;Button控件通过Click事件响应用户操作。文章还详细说明了如何设置各控件的颜色属性,包括前景色、背景色以及动态交互效果,并提供了统一应用主题色的代码示例。
2026-06-10 17:38:12
703
1
原创 c#基础知识合集18 事件
C#中的事件是一种基于委托的发布-订阅机制,用于实现对象间的松耦合通信。事件通过委托类型定义处理方法签名,使用event关键字声明。发布者类触发事件,订阅者类通过+=注册事件处理方法。C#提供预定义的EventHandler委托和EventArgs基类,也可自定义事件参数类来传递额外数据。这种机制使得不同模块能够通过事件交互而无需直接依赖,典型应用包括:定义事件委托、声明事件、触发条件、订阅处理等步骤,EventArgs.Empty表示无额外数据传递,自定义EventArgs派生类可扩展事件数据传递能力。
2026-06-04 19:14:49
624
原创 c#基础知识合集17 委托
委托是C#中的类型安全函数指针,用于将方法作为参数传递或存储在变量中。通过delegate关键字声明委托类型(如public delegate int MyDelegate(int a, int b)),可关联签名匹配的方法(如加减法)。多播委托通过+=/-=实现多个方法的链式调用,常用于事件处理和异步回调。委托的核心优势包括:解耦调用逻辑(如动态切换排序比较方法)、实现事件机制(如按钮点击事件)以及简化异步编程。典型应用场景包括GUI事件响应、算法策略模式和异步操作完成通知,能显著提升代码的灵活性和可扩展
2026-06-03 21:26:36
486
原创 c#基础知识合集16 接口 多接口 泛型方法 泛型效率 泛型类和泛型接口 泛型约束
【代码】c#基础知识合集 接口 多接口 泛型方法 泛型效率 泛型类和泛型接口 泛型约束。
2026-06-02 20:02:42
698
原创 c#基础知识合集15 虚方法 索引器
文章摘要: 本文探讨了C#中的虚方法和索引器两大核心概念。虚方法通过virtual和override实现多态性,允许子类重写基类方法,运行时根据实际类型调用对应版本,与抽象方法(必须重写)和密封方法(禁止重写)形成对比。索引器通过this[]定义,使对象能像数组一样通过索引访问数据集合,支持重载和自定义逻辑,区别于属性(操作单一字段)和数组(固定整数索引)。两者均需注意实现细节,如虚方法的运行时绑定和索引器的边界处理。
2026-06-01 19:12:55
445
原创 c#基础知识合集14 静态成员、静态成员测试、只读和常量、继承、子类构造和父类构造执行顺序、 属性访问修饰符、多态、运算符号重载、抽象类
本文摘要:文章系统介绍了C#面向对象编程的核心概念。主要内容包括:静态成员(字段、方法、属性)的定义与使用;readonly与const的区别;继承机制及构造函数执行顺序;访问修饰符的作用范围;多态的实现方式;运算符重载方法;以及抽象类的特性和使用限制。通过代码示例详细演示了每个概念的具体应用场景,如静态方法的单元测试、多态实现不同形状的面积计算、运算符重载实现点坐标相加等。这些内容构成了C#面向对象编程的基础知识体系。
2026-05-29 19:59:42
343
原创 c#基础知识合集13 哈希表、有序列表、栈和队列、类和对象的创建、属性和字段、字段和属性的区别、属性拦截、构造函数、析构函数
本文介绍了C#中几种常见数据结构与面向对象编程的核心概念。哈希表(Hashtable与Dictionary<TKey,TValue>)通过哈希函数实现O(1)快速查找;有序列表(SortedList与SortedDictionary)使用数组/红黑树实现O(log n)的有序存储;栈(Stack)和队列(Queue)分别遵循LIFO和FIFO原则。在面向对象方面,详细讲解了类与对象的创建过程,字段与属性的区别(封装性、数据验证等),属性变更通知机制(INotifyPropertyChanged)
2026-05-28 19:03:49
501
原创 c#基础知识合集12 冒泡排序 选择排序 ArrayList List 字典
本文对比了冒泡排序和选择排序两种算法,以及ArrayList和List<T>两种集合类型。冒泡排序通过相邻元素比较交换实现排序,时间复杂度O(n²),稳定但效率较低;选择排序每次选择最小元素交换,同样O(n²)但不稳定。ArrayList可存储不同类型但类型不安全,List<T>类型安全且性能更优。字典(Dictionary<TKey,TValue>)通过键值对存储,查找效率O(1),适合快速查找场景。总体而言,小数据量可用简单排序,类型安全推荐List<T>
2026-05-27 18:40:11
621
原创 c#基础知识合集11 数组的属性 数组的高级函数 lambda表达式
本文系统介绍了C#数组的核心属性和方法,主要包括:1. 基础属性(Length、Rank)和核心方法(Clear、Copy、IndexOf等);2. 条件筛选类方法(Find、FindAll、FindIndex等)与谓词的使用;3. 遍历类方法(ForEach)和状态判断类方法(TrueForAll、Exists);4. Lambda表达式语法及其在数组操作中的应用。文章通过具体示例演示了各种方法的实际用法,包括元素查找、条件筛选、数组复制等常见操作,并详细说明了Lambda表达式与委托的绑定方式。这些内容
2026-05-26 17:23:07
986
原创 c#基础知识合集10 数组
本文介绍了C#中数组的基本概念和操作方法。主要内容包括:1)数组的声明与初始化(静态和动态);2)通过索引访问和修改数组元素;3)使用Length属性获取数组长度;4)使用for和foreach循环遍历数组;5)多维数组(矩形数组和交错数组)的声明、初始化和访问方式;6)常用数组方法如Sort、Reverse和IndexOf的使用。数组作为C#中重要的数据结构,在数据存储和算法实现中具有广泛应用价值。
2026-05-25 17:46:05
266
原创 c#基础知识合集09 string字符串
本文介绍了C#中字符串(string)和可变字符串(StringBuilder)的基本用法。字符串部分包括定义方式(普通、转义、取消转义、重复字符)和常用方法(合并、分割、大小写转换、查找替换等)。StringBuilder部分重点讲解了其可变特性及常用操作(追加、插入、删除、替换等),相比string在频繁修改时性能更优。两者都提供了丰富的字符串处理功能,开发者可根据实际需求选择使用。
2026-05-22 19:00:35
533
原创 c#基础知识合集08 随机数 DateTime
摘要:本文介绍了C#中Random类和DateTime类的使用方法。Random类可用于生成随机数,包括整数、小数和布尔值,需要注意线程安全和性能问题。DateTime类用于处理日期和时间,包含多种属性和方法,如日期格式化、时间计算和比较等。文章还介绍了时间戳转换、TimeSpan计算时间间隔等实用技巧,为开发者提供了全面的日期时间处理指南。
2026-05-21 19:04:10
659
原创 c#基础知识合集07 方法值传递 引用传递 ref参数 out输出参数 in参数 参数列表
C#参数传递机制详解 本文详细介绍了C#中的四种参数传递方式: 值传递:默认方式,实参值被复制,方法内修改不影响原值。值类型直接复制值,引用类型复制引用地址但指向同一对象。 ref引用传递:使用ref关键字,传递变量内存地址,方法内修改直接影响原变量,调用前需初始化。 out输出参数:类似ref但专用于返回值,调用前无需初始化,方法内必须赋值。 in参数:按只读引用传递,避免大数据复制同时防止修改,调用需提供已初始化变量。 params参数:可变数量参数,必须是最后一个参数,可接受数组或逗号分隔值。 每种方
2026-05-20 16:38:21
2526
原创 c#基础知识合集06 类 值类型和引用类型 方法定义和调用
本文系统介绍了C#中类与对象的核心概念。类作为用户自定义的数据类型,通过字段、属性和方法封装数据与行为;对象则是类的具体实例。文章详细讲解了类的组成部分(字段、属性、方法)及其定义方式,并阐述了类与对象的关系。同时对比了值类型和引用类型的存储机制及赋值特点,最后深入解析了方法的定义、调用、参数设置及重载机制。这些概念构成了面向对象编程的基础,对开发高效、健壮的C#程序至关重要。
2026-05-19 17:28:14
778
原创 c#基础知识合集05 Math goto语句 可空类型 双层for循环
方法名作用Math.Abs获取一个数的绝对值Math.Sqrt计算一个数的平方根Math.Pow计算一个数的指定次幂Math.Tan计算角度(以弧度为单位)的正弦、余弦和正切值-Math属性使用Math.PI进行角度和弧度转换将小数向上取整到最接近的整数Math.Floor将小数向下取整到最接近的整数Math.Round将小数四舍五入到指定小数位数或最接近的整数Math.Min获取两个数中的最大值和最小值goto语句在 C# 中,goto。
2026-05-18 19:24:14
622
原创 c#基础知识合集04 for循环,while循环
本文介绍了三种循环结构:for循环适用于已知循环次数的情况,通过初始化、条件和迭代表达式控制循环;while循环先检查条件再执行循环体,适合不确定循环次数但需满足条件的情况;do-while循环至少执行一次循环体后再检查条件,适用于必须执行一次的情况。每种循环都通过具体示例说明了其语法特点和使用场景,帮助理解不同循环结构的适用性和执行流程。
2026-05-15 20:23:54
207
原创 c#基础知识合集03 位运算,流程控制(if)(switch)
本文介绍了C#中的位运算和流程控制语句。位运算部分详细讲解了按位与(&)、或(|)、异或(^)、取反(~)以及左移(<<)和右移(>>)运算的规则和使用方法,通过二进制示例展示了运算过程。流程控制部分重点介绍了if条件判断语句(包括基本if、if-else和if-elseif-else结构)和switch分支语句,比较了它们的适用场景和特点。文章通过具体代码示例说明了如何根据条件执行不同的代码块,以及如何通过嵌套和多层判断来增强程序的逻辑处理能力。这些基础知识对于理解C#程序
2026-05-14 16:33:46
584
原创 c#基础知识合集02 类型转换,运算符
本文介绍了数据类型转换和运算符的基本概念。数据类型转换分为隐式转换(自动完成)和显式转换(手动强制),包括数值类型转换顺序、字符串转数字方法等。运算符部分详细讲解了算术运算符、赋值运算符、自增自减运算符、关系运算符、三元运算符和逻辑运算符的使用方法及注意事项,重点说明了不同运算符的运算规则和常见应用场景。全文通过具体示例展示了各种运算符的实际用法,为编程中的基本运算操作提供了实用参考。
2026-05-13 17:23:38
642
原创 c#基础知识合集01 数据类型,变量
本文摘要介绍了C#编程基础中的关键概念:1)注释方式(单行//和多行/* */);2)输入输出方法(Console类及WinForm的MessageBox);3)主要数据类型(数值型、字符型、布尔型等)及其存储特性;4)变量命名规则(字母数字下划线组合、小驼峰命名法)和声明方式(单变量/多变量声明及初始化)。内容涵盖了C#基础语法要点,适合初学者快速掌握核心编程概念。
2026-05-12 17:50:49
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅