- 博客(11)
- 收藏
- 关注
原创 委托(Delegate)与事件(Event)C#
在 C# 里,委托是一种引用类型,它类似于 C 语言中的函数指针,但比函数指针更安全、更强大。委托可以封装一个或多个方法,然后可以像调用普通方法一样调用委托。委托允许将方法作为参数传递给其他方法,这为程序带来了更高的灵活性和可扩展性。事件是基于委托的一种特殊机制,它允许一个对象(发布者)在某个特定操作发生时通知其他对象(订阅者)。事件提供了一种松耦合的方式,使得发布者和订阅者之间的依赖关系降到最低。:取消订阅事件,之后再次触发事件时,订阅者不会收到通知。:发布者执行操作,触发事件,订阅者的。
2025-04-15 18:07:01
323
原创 C#语言集成查询(LINQ)
LINQ(Language Integrated Query)即语言集成查询,是 C# 中一项强大的特性,它将查询功能集成到了 C# 语言本身。借助 LINQ,你能够用统一的语法对不同类型的数据源进行查询操作,这些数据源包括数组、集合、数据库等。和 C 语言相比,C 语言中没有像 LINQ 这样直接集成到语言里的查询功能,若要进行数据查询,往往得手动编写复杂的循环和条件判断代码。
2025-04-15 17:51:54
631
原创 集合和泛型 C#
若要使用数组,得手动指定数组大小,并且在需要动态调整大小时,要自行编写内存分配和释放的代码,例如使用。再一个就是类型安全这一块就说C在指针操作这块,如果出现类型不匹配,程序直接跑崩溃,有时候你还不好找这个bug。而且C 语言中的数组仅能存储相同类型的数据,而且缺乏对数据的高级操作,像排序、查找等功能都得自己实现。是一个动态数组,它只能存储指定类型的对象,这保证了类型安全,并且在访问元素时无需进行类型转换。是一个泛型键值对集合,它要求键和值的类型在创建时就确定,保证了类型安全。最后,访问第一个元素。
2025-04-15 17:05:53
552
原创 C#类学习
/ 定义一个学生类// 字段// 属性setelseConsole.WriteLine("年龄不能为负数。");setelseConsole.WriteLine("成绩必须在0到100之间。");// 方法Console.WriteLine($"姓名: {Name}, 年龄: {Age}, 成绩: {Score}");return 0;sum += s;// 创建一个学生对象// 设置学生信息student.Name = "张三";// 显示学生信息。
2025-04-14 22:08:37
240
1
原创 C#列表学习
借助索引来访问列表中的元素,索引从 0 开始。通过索引可以修改列表中的元素。方法往列表里添加元素,也能用。方法删除指定索引处的元素。以下是对上述 C# 列表(方法删除指定元素,用。
2025-04-14 21:57:02
337
原创 在 Python 中获取列表最后一个元素的 3 种方法 (学习python中)
Python 允许您使用负索引,这些索引从列表的末尾而不是开头开始计数。所以 list[-1] 获取最后一个元素,list[-2] 获取倒数第二个元素,以此类推。pop函数是从列表中删除并返回位于给定索引的对象的值(会删除对应的元素)对于列表最后一个元素,pop函数里参数不写会默认为最后一个元素。就是计算出列表长度,精准索引。
2024-10-11 14:29:43
2591
3
原创 汇编 DA A十进制调整指令
二进制加法指令不能完全适用于BCD码十进制的加法运算,故应对压缩的BCD码的加法结果需要进行有条件的修正。出错原因及调整方法BCD码(4位二进制编码)共有十六个编码,但只用了其中的10个,剩余六个就没有用到。而这六个没有用到的编码为无效编码。故1位BCD码加法运算出错的情况有两种:1)相加结果大于9无进位,及已经进入无效编码区;2)相加结果有进位,及已经跳过无效编码区;无论哪一种出错情况,都是因为六个无效编码造成的。调整方法是把运算结果加6调整,即所谓的十进制调整修...
2021-11-24 22:06:22
8189
3
原创 STM32F103定时中断暂时的关闭与开启
本文解决的问题是: 当我在执行程序的时候会遇到一种状况,会有一个子程序去处理这种状况,但是定时中断服务函数的运行会对我这个子程序的运行造成影响而不能去解决这种状况时,我就需要去暂时关闭我的定时中断,去让这个对应的子程序去处理这种状况。一 第一种思路就是我不去关闭定时器中断,让它继续的定时中断,而不让它去运行它的服务函数。 怎样实现呢·? 给它的中断服务函数里加个大前提LED0写在定时中断里(100ms反转一次) ...
2021-10-16 22:17:08
13585
1
原创 HC-SR04超声波模块关于stm32的使用
先说模块的使用引脚 VCC Trig Echo GND共四个引脚,它实现原理就是给Trig引脚一个高电平持续10us之后拉低,这个时候他就会产生发射超声波,同时它的Echo引脚会输出高电平,直到它接到反射回来的超声波之后它就会置低,所以要想测距的话我们只需要写一个捕获程序,来捕获它的高电平持续的时间就可以间接的计算出距离。(具体的工作原理其他博主写得都很好可以参考他们的)下面就是代码实现用TIM3定时中断来控制它的工作频率,...
2021-10-16 21:08:24
1268
原创 基于stm32f103zet6(精英版)vct6 vet6的通用定时器(TIM2~TIM5)的pwm输出
PWM的基础知识我就不多说,主要说怎样用各个通用定时器去输出各个通道的pwm。先说TIM2的·参考F103.的中文参考手册可以知到TIM2共有四种复用映像方式:没有重映像、部分重映像1、部分重映像2、完全重映像'没有重映像'怎么写void TIM2_PWM_Init(u16 arr,u16 psc){ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_
2021-08-30 21:18:58
2338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人