- 博客(10)
- 收藏
- 关注
原创 C# 委托与事件
这个委托的方法签名要求:返回值int 参数两个int 必须匹配。也就是说 “类型安全” 就是:委托会严格检查方法的参数类型和返回值是否匹配,不允许像c那样拿个函数指针乱塞,减少野指针之类的问题。回调=我做完某件事之后,再反过来”调用你提供的方法“。类型安全=签名不匹配,编译器直接报错,不能乱来!在事件系统里非常常见(一个事件,多个订阅者)问题1 :委托是什么?,你可以以后再通过委托去调用这个方法。也就是说,使用委托将函数作为方法调用。调用一次委托,会顺序执行挂着的所有方法。委托就是类型安全的函数指针,
2025-11-17 11:28:25
134
原创 C# 面向对象三大特征:封装、继承、 多态
原因2:WPF/MVVM/DateBinding 根本不能绑定字段。而是让外面把这些对象准备好,再“传进来”给它用。代码编写的 规范:一个类里,尽量不要自己偷偷。注意不要直接操作字段 而是使用属性与方法。原因1:破坏封装、添加类似于验证逻辑困难。类如我要对这个属性添加判断与事件。子类可以自动获得父类的属性与方法。出各种“重要对象”(依赖)。根本作用:为了更好的代码复用。将数据与方法包在一起。只暴露一些必要的接口。同一接口,不同的实现。
2025-11-17 09:38:17
150
原创 Oracle 12c navicat 导出表结构 使用sql语句
cs.table_name = '123' --这里放你的表名。TABLE_NAME = '123' --这里放你的表名。datatype 数据类型,datalength 长度,nullable 是否为空,A .cloumn 列名,b.comments 注释。
2025-02-20 16:25:53
321
原创 3月6日学习日志:链表的创建
创建一个链表要将链表各个功能封装成为各个函数进行调用#include<stdio.h>#include<stdlib.h>//定义一个结构体typedef struct Node { int data; struct Node* next;}sn;//创建链表//创建一个返回值为结构体指针的函数sn* creatlist(){ sn* headNode = (sn*)malloc(sizeof(sn)); //headNode->data =
2022-03-06 16:01:26
197
原创 3月4日学习日志:【初学C语言总结】scanf函数
1.scanf函数用%s读取一个字符串时,其实它只能读取一个单词,因为遇到空格时,它会认为输入已结束。因此一般使用fgets来读取一个字符串。如果想用scanf函数读取带有空格的字符串时,需要使用参数%[ ]来完成,它的意思是读入一个字符集合。[ ]是个集合的标志,%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是“^”,这说明读取不在"^"后面集合的字符,既遇到"^"后面集合的字符便停止(这就是scanf函数里的正则表达式应用)。
2022-03-04 14:08:05
994
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅