- 博客(33)
- 收藏
- 关注
原创 LINQ 和 LINQ 扩展方法(2)
Join方法用于一对一的关系,而GroupJoin方法用于一对多的关系。GroupJoin可以获取与每个元素匹配的所有元素集合,而Join只能获取匹配的第一个元素。代码片段展示了如何使用这两种方法来连接数据集合,并创建包含连接信息的新对象。
2025-01-23 17:28:22
842
原创 PLC通信
PLC(可编程逻辑控制器)通信是指 PLC 与其他设备或系统之间进行数据传输和信息交换的过程。在实际应用中,你可以根据具体的 PLC 品牌、型号和通信协议选择合适的库和方法,并根据实际需求扩展和优化代码,实现PLC与设备之间的通信
2025-01-22 17:15:10
1353
原创 传输通信协议TCP和UDP
TCP 通信是面向连接的,提供可靠的数据传输,适用于对数据准确性和完整性要求较高的场景;而 UDP 通信是无连接的,传输速度快但不可靠,适合实时性要求高且能容忍一定数据丢失的场景。在 C# 中,TcpListener 和 TcpClient 用于 TCP 通信,UdpClient 用于 UDP 通信,分别使用 NetworkStream 和 Send/Receive 方法来完成数据的发送和接收操作。
2025-01-22 10:45:31
1224
原创 串口通信SerialPort
总之,串口通信需要注意硬件连接、参数匹配、数据格式和处理、事件处理、异常处理、资源释放以及性能优化等多个方面,只有全面考虑这些因素,才能保证串口通信的稳定和可靠。以上代码展示了 `SerialPort` 类的基本用法,在实际应用中,需要根据具体的硬件设备和通信协议进行适当的调整和处理。确保硬件设备的串口连接正常,包括串口线是否连接牢固,设备是否已开启,电源是否正常,以及设备是否支持所选择的波特率、数据位、停止位和奇偶校验等参数。如果发送或接收的数据量较大,可能需要调整缓冲区大小,以避免数据溢出或丢失。
2025-01-21 09:56:44
875
原创 ASP.NET——MVC编程
如何使用 C# 中的 MVC 模式去开发一个简单的 Web 应用程序,将业务逻辑、用户界面和请求处理清晰地分离,提高开发效率和代码的可维护性。根据需要,可以进一步扩展和优化该示例,添加更多的功能和页面。
2025-01-20 17:12:28
1507
原创 WebSocket 和 Socket 的区别
综上所述,Socket提供了更底层的网络通信接口,适用于需要对网络细节有深入控制的场景;而WebSocket则更适用于现代Web应用程序中需要双向通信的场景,它在开发效率和性能上具有优势,特别是在需要持久连接和数据更新的情况下。在选择使用时,需要根据具体的应用场景和开发需求进行综合考虑。
2025-01-20 09:22:51
772
原创 通信协议—WebSocket
WebSocket是一种全双工通信协议,允许在客户端(通常是浏览器)和服务器之间建立持久连接,以实现实时的双向通信。它是HTML5标准的一部分,相比传统的HTTP请求,WebSocket提供了更低的延迟和更高的性能,特别适合于需要实时更新数据的应用程序,如在线聊天、实时监控、游戏等1.2.1.2)创建WebSocket服务器端点1.2.1.3)处理WebSocket消息1.2.1.4)启动服务器1.2.2)客户端1.2.2.1)使用System.Net
2025-01-19 14:38:24
832
原创 网络通信—Socket
Socket本质上来说,是一种用于进程间通信的机制,搭建在不同计算机的程序之间,使得他们能够跨越网络的界限,相互传递信息。在C#中,主要依托System.Net.Sockets命名空间下的Socket类,为实现Socket编程提供了各种各样便捷的方法和属性,帮助开发者可以更加轻松的驾驭网络通信。
2025-01-19 10:25:29
702
原创 MES知识库(一)
制造执行系统(ManufacturingExecutionSystem,MES)是一种面向车间层的生产管理技术与工具,它位于企业资源计划(ERP)系统和底层工业控制(如PLC)之间,旨在实现生产过程的实时监控、管理、控制和优化。MES模型的构成通常包括以下几个核心模块:订单管理:负责处理来自ERP系统的生产订单,包括订单分解、调度和优先级分配生产调度:根据生产能力和资源状况,生成详细的生产作业计划资源分配:将生产任务分配给相应的生产线和设备,并跟踪资源的使用情况。
2025-01-18 16:24:39
933
原创 梯次线加K值功能
梯次线通常是在工业生产、数据分析或控制系统等领域使用的一个概念。它一般表示一组有序的数据点连接而成的线,这些数据点可以反映某种物理量(如温度、压力、速度等)随时间或其他参数(如位置、生产批次等)的变化趋势。可以将其想象为一个二维平面上的折线图,其中横坐标和纵坐标分别代表不同的变量,而折线则展示了它们之间的关系。锂电池领域:K值指的是单位时间内的电池的电压降,通常单位用mV/d表示,是用来衡量锂电池自放电率的一种指标,K值越大,说明电池自放电速度越快。相机领域。
2025-01-18 08:46:53
701
原创 C#中的Date Time类
Console.WriteLine(DateTime.Now.ToString("今年是yyyy年MM月dd日HH时mm分ss秒,今天是dddd"));DateTime.Now 属性,用于获取当前的系统时间。用来进行时间操作的,类型的变量一般用于储存一个时间。让代码停止1秒,单位毫秒。
2024-09-14 23:40:18
831
原创 数据库的基本操作
列:(字段field) 列名,列数据类型,列是否为空列名:命名建议使用大驼峰,原因:为了映射成C#中的对象时,保留命名StudentName student_name _studentName studentName(PS: 两种语言中间作比较,类似于并不是完全相等,仅仅是可以理解成相同的类型和用法,但并不完全一样)datetime 常用的时间类字符串相关:varchar 和 test 的区别 就是存储范围的大小,test比varchar 大varchar :有限的字符 (类似于标题之类的有长度有限的数据)
2024-09-13 22:47:49
1129
原创 LINQ 和 LINQ扩展方法 (1)
LINQ(Language Integrated Query)是一种C#语言中的查询技术,它允许我们在代码中使用类似SQL的查询语句来操作各种数据源。这些数据源可以是集合、数组、数据库、XML文档等等。这种查询表达式是LINQ(Language Integrated Query)的一部分,它允许你以声明式的方式对集合进行查询和操作。查询表达式(Query expression):类似于SQL语句的查询表达式,用于描述查询的逻辑和条件。其中数据源,查询变量,查询结果是必选项,查询表达式,查询操作符是可选项。
2024-09-11 19:30:40
1133
原创 WinForm中常用的控件和属性
取值为 true时,控件将自动调整到刚好能容纳文本时的大小,取值为false时,控件的大小为设计时的大小。:用来指示多行文本框控件在输入的字符超过一行宽度时是否自动换行到下一行的开始,值为 true,表示自动换到下一行的开始,值为false表示不自动换到下一行的开始。:用来获取或设置一个值,该值指示自创建文本框控件或上次设置该控件的内容后,用户是否修改了该控件的内容。:用来决定当焦点离开文本框后,选中的文本是否还以选中的方式显示,值为true,则不以选中的方式显示,值为 false将依旧以选中的方式显示。
2024-09-07 23:16:18
1424
原创 C#中的字段和属性
类拥有成员变量和成员方法成员变量就是字段,用于存储对象的信息//公共字段//私有字段可以给成员变量设置其内部的get/set方法,操作获取或设置成员时的操作。");//类拥有成员变量和成员方法//成员变量就是字段,用于存储对象的信息//公共字段//私有字段//可以给成员变量设置其内部的get/set方法,操作获取或设置成员时的操作。//获取Age属性的时候执行的getConsole.WriteLine("get方法执行了");return age;
2024-09-06 23:11:13
939
1
原创 C#封装,继承,多态
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的公共属性来实现对隐藏信息的操作和访问。5 .object是所有类的父类 如果一个类 没有明确继承关系 默认继承于object类6.C#中类与类之间是单继承关系(子类只能同时继承一个父类) 利用接口实现多继承(后续讲)7.创建子类对象时,系统默认先调用父类构造方法,然后再调用子类构造方法8.当父类有有参构造方法时.必须提供一个无参构造函数 供子类调用。
2024-08-28 22:55:46
745
原创 密封类和静态类
静态类一般用来封装一些工具,如Math,SQLHelper,Convert,Console。注意:抽象类的作用是让别的类所继承于他,不能被定为密封的。静态类并不能被继承。静态类不能实例化为对象(不能new)。静态类的构造函数只能在第一次调用时使用一次,之后就不再使用。在某个类的前面添加static修饰符,此类为“静态类”,在静态类中只能添加静态成员变量及静态成员方法,静态类中的构造函数,不能公开,且必须是静态的。使用静态类的时候,只能通过类本身去访问成员。密封类不能被其他类所继承。
2024-08-26 23:11:49
459
原创 C#—lambda表达式
类中会比较麻烦且没必要,这时候就可以使用lambda表达式了。lambda表达式可以很方便的创建一个方法。一些数组的方法,有些方法需要传递一个方法进行计算,但是这个方法可能只需要使用一次,将他封装到。有些方法需要传递一个方法作为参数,这种时候就可以使用lambda表达式创建一个方法进行传递。lambda可以使用两种方式来创建。
2024-08-21 23:59:08
538
原创 C#—Dictionary字典类
Remove 从 Dictionary 中移除所指定的键的值。Count 获取包含在 Dictionary 中的键/值对的数目。Keys 获取包含 Dictionary 中的键的集合。Values 获取包含 Dictionary 中的值的集合。字典 长度是不固定的 随着元素增减 而改变。键必须是唯一的,而值不需要唯一的。
2024-08-20 23:33:12
579
原创 C# 结构体(Struct)
不能定义无参构造函数。无参构造函数(默认)自带如果定义有参构造函数 必须在 构造函数内部 初始化所有 字段和属性set;A = a;Age = age;//错误1. 类和结构实际上都是创建对象的模板, 每个对象都包含数据,并提供了处理和访问数据的方法2. 类是引用类型 对象存于堆中 可以通过GC管理内存 结构是值类型 对象存于栈中 、3 结构不能被继承 也不能继承其他类 但是能继承接口4. 结构和类 都能使用new 创建对象 但是结构也可以不使用。
2024-08-19 22:27:40
929
原创 C#中泛型
泛型(generic)是C# 2.0推出的新语法,并不是语法糖,它是专门为处理多段代码在不同的数据类型上执行相同的指令的情况而设计的。泛型定义时,是延迟声明的:即定义的时候没有指定具体的参数类型,把参数类型的声明推迟到了调用的时候才指定参数类型。比如:方法和泛型混到一起,叫泛型方法,类和泛型混在一起叫泛型类,接口和泛型混到一起,叫泛型接口,等等。只是方法签名,没有方法体,默认是公开的,不能添加修改符。在C#中应用比较广的泛型:泛型方法,泛型类,泛型接口。泛型是一个复合类型,把多个类型混合一起作用,
2024-08-15 19:00:54
1885
原创 C#中的运算符
/以上数据都可以正常计算,除了除法没有小数点后面的数据(原因:使用的int整数声明,VS工具只保留值的整数部分)。//先赋值“int b = a, b = 7”,后运算“a++ ,a=8”//先运算“++a,a=9”,后赋值“int c = a,c = 9”// int num = 45 / 10.0;//实例:判断5>=6,结果为true则返回结果1,结果为false则返回结果2。// 注意:除法运算符,运算符两边的数据都是整数,计算的结果就会返回整数。// 是的,真的,满足条件的,1。
2024-08-12 21:09:50
1092
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人