自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 c#错题(试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B))

700B这个错误大致的意思就是位数不匹配,需要进到代码属性里面,找到"生成",将"目标平台"那个首选32位的√去掉。

2024-07-05 10:17:31 352

原创 c#学习(事件的简单声明)

此代码与前完整声明的代码差别就在于,事件的声明这里,简单声明我们可以看到,这是一个类似于字段的事件声明,之所以这里没有字段的声明,是C#在编写初边将这个隐藏起来了。我们可以看到绿色向下的箭头就是事件Order 上面也有一个水蓝色的菱形Order,但是这是一个字段,在编写初就被隐藏起来,所以我们在代码里面无法看到。打开Developer Command Prompt for vs 2022 命令窗口。在里面输入ildasm进入反编译,将应用程序文件拖入到里面。我们可以通过反编译来进行查看。

2024-06-19 23:08:37 290

原创 c#学习(事件完整声明)

【代码】c#学习心得(事件完整声明)

2024-06-18 22:25:45 85

原创 c#学习(事件的简单创建使用)

1、事件不会主动发生,一定是被拥有者的某些内部逻辑触发之后,才能够发生,才能够起到通知的作用。5、事件订阅 (把事件处理器与事件关联在一起,本质上是一种以委托类型为基础的"约定")4、事件处理器(Event handler ,成员)----本质上是一个回调方法。3、事件的响应者(Event subscriber ,对象)1、事件的拥有者(Event source , 对象)功能:事件(Event)是一种使对象或类能够提供通知的成员。2、事件的成员(Event ,事件)事件(Event):能够发生的事情。

2024-06-03 20:24:49 244

原创 c#学习-(委托的高级使用)

委托会引用一个方法,这个方法如果是一个实例方法的话,那么这个方法必定会隶属于一个对象,你拿一个委托引用了这个方法,那么这个对象就必须存在于内存当中,即便是没有其他的引用变量引用这个对象,因为你一释放这个内存,委托就不能够间接去调用对象的方法,所以所委托有可能造成内存泄漏,随着泄漏的内存越来越多,程序就会崩溃。使用异步会导致出现多个线程争抢资源的情况,会出现冲突,可以加上线程锁,另外,应该合适的使用接口interface取代一些对委托的使用。2、单播委托的间接调用。串行==同步==单线程。

2024-06-02 20:30:05 1105

原创 c#学习(委托-模板方法&&回调方法)

不论模板方法还是回调方法,其实本质上都是一样的,都是通过委托类型的参数,封装一个外部的方法,然后把这个方法传进我们方法的内部,再进行间接调用。模板方法:"借用"指定的外部方法来产生结果,有返回值,常位于代码中部。回调方法:调用指定的外部方法,无返回值,常位于代码末尾。

2024-06-01 15:30:19 274

原创 c#学习(委托的自定义声明)

1、委托(delegate)是一种类(class),类是数据类型,所以委托也是一种数据类型。4、委托与所封装的方法必需"类型兼容"2、它的声明方式与一般的类不同。3、注意声明委托的位置。

2024-05-26 17:47:35 317

原创 c#学习(委托的简单使用)

2、间接调用:通过函数指针来调用函数,CPU通过函数指针存储的值获得函数所在地址并开始执行--->返回。1、直接调用:通过函数名来调用函数,CPU通过函数名直接获得函数所在地址并开始执行-->返回。2、函数(算法)是以某个地址为起点的一段内存中存储的一组机器语言指令。1、变量(数据)是以某个地址为起点的一段内存中所存储的值。委托(delegate)是函数指针的"升级版"。三、直接调用,间接调用。1、Action委托。

2024-05-26 16:51:43 520

原创 Winform学习心得(计时器)

设置其属性FromBorderStyle为FixedSingle(单线边框,不随窗体大小改变而改变),将MaxmizeSize设置成false(最大化无法使用,但是最大化的图标还在,不知道怎么隐藏)添加下拉列表,可以在加载程序中使用for循环进行编写,也可以在属性界面里的Itmes进行添加,也可以在AutoCompleteCustomSource里面进行添加(不清楚这两者的区别)1、ComboBox(显示一个可编辑的文本框,其中包含一个允许值下拉列表)2、Form(窗口组件)3、Button(按钮)

2024-05-16 10:29:15 282

原创 C#学习心得(引用类型对象作为引用参数传递-2)

如果在方法内创建一个新对象并赋值给形参,在方法结束之后该对象还是会存在,并且是实参所引用的值。2、在RefAsParameter()方法开始的时候,实参和形参指向堆中相同的对象;3、将成员进行重新赋值之后,还是会指向相同的对象,同时会影响到实参和形参;1、ref 在方法签名和方法调用中,通过引用将参数传递给方法;4、当方法重新赋值之后,实参和形参的引用还是会指向该新的对象。5、在方法结束之后,实参指向在方法内创建的新对象。为什么第四个输出是20?

2024-05-15 03:05:24 307 1

原创 C#学习心得(引用类型对象作为值参数传递-1)

3、当方法里分配新的对象并赋值给形参时,方法体外面的实参还是指向原对象,a1还是指向的是50,但是形参会指向新的对象。2、实参和形参同时指向20,进入方法体里面,对象的成员重新赋值之后,实参和形参仍然指向堆中的数据50;4、在方法调用之后,实参会指向原对象,形参和新对象都会消失。一开始无法理解,为什么第四个输出会是50?1、第一个输出是20;

2024-05-15 02:40:26 569

空空如也

空空如也

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

TA关注的人

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