- 博客(17)
- 收藏
- 关注
原创 c#反射(Reflection)
因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,因而会带来维护的问题,反射代码比相应的直接代码更复杂。System.Reflection.Assembly 用于访问给定的程序集信息,或者将程序集信息加载到程序中。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。反射指程序可以访问、检测和修改它本身状态或行为的一种能力。2.执行后期绑定,访问在运行时创建的类型方法。
2024-04-24 16:36:49
290
原创 c#——泛型
泛型(Generic),泛型允许你编写一个可以与任何数据类型一起工作的类或方法。类:class 类名<占位字符>函数:返回值类型 函数名<占位字符>(参数类型 参数1,......)泛型是增强程序功能的技术* 1.最大限度的复用代码* 2.泛型类,泛型函数,泛型接口,泛型委托,泛型事件* 3.可以对泛型进行约束,从而访问特定的数据类型 where* 4.泛型数据类型的类型信息可以利用反射在程序运行时获取。
2024-04-21 20:19:20
375
1
原创 c#中string、字符串变量stringbuilder、字符串写入文件
2.stringbuilder创建后大小是可以发生变化,但是string大小是不可变的。* 1.少量字符串操作,且字符串不经常发生变化时,优先使用stirng。* 3.stringbuilder可以自动扩容,且2倍扩容。
2024-04-20 19:57:40
227
原创 c#委托与事件
提供了一种传递代码块作为委托参数的技术,匿名函数是没有方法名,只有函数主体,在匿名函数中不需要指定返回值类型,系统会在函数体中通过return语句自动推断。如果说委托是对方法的包装,那么事件就是对委托进一步的包装,提升了使用的安全性,事件是安全版的委托。委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。事件是一种特殊的委托,委托是事件的基础,本质上来讲事件就是委托。* 匿名函数只能将方法赋值给委托,通过委托调用该方法。下面通过一个设计模式---观察者模式来举例。* Func:有返回值。
2024-04-20 19:47:22
513
原创 c#静态类、抽象类、密封类
1.抽象类中方法只声明不实现,但是在子类中是必须全部实现2.抽象类中可以包含非抽象方法,但是抽象方法只能在抽象类中3.抽象类中不能使用private访问修饰符4.抽象类是不能被直接实例化,可以在派生类中实现实例化。
2024-04-19 13:01:47
250
原创 c#中封装、继承与多态
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。1.抽象类中可以定义字段,属性,方法的实现,但是接口中只能定义属性,事件,以及方法的声明,不能包含字段。当调用被重写的方法时,实际执行的是对应派生类的方方法。3.继承接口类,必须将接口中的成员全部实现,且成员名和接口中定义的名字保持一致。属性是类,结构体,接口的命名成员,类或者结构体中的成员变量及方法称为域,属性是域的扩展。1.抽象类中方法只声明不实现,但是在子类中是必须全部实现。
2024-04-19 12:57:53
831
原创 c#中ref,out与new修饰符
2.ref的参数可以不赋值,但是out参数必须要赋值,out进入函数时会清空自己,必须在函数内部赋初值。1.使用ref时,传入参数必须要初始化,不能为空的引用,而使用out时参数可以不初始化。2.在派生类中使用new关键字,修饰定义与基类中同名的函数,叫覆盖,覆盖不会改变基类的方法功能。在c#中当一个方法需要返回多个值的时候,就需要用到ref与out。1.都是址传递,执行方法后,原来的值会改变。
2024-04-18 21:56:57
322
1
原创 c#中访问权限与静态变量,值类型与引用类型
3.存储在静态成员中的信息只有在应用程序退出时才会从内存中释放,生命周期与程序的生命周期相同,因此需要谨慎使用,避免造成内存泄漏或不必要的资源占用。protected internal:,既可以在当前程序集的子类和类中访问,也可以只在当前程序集的类中和类外访问。3.值类型表示的是实际的数据,引用类型表示的指向存储在堆区的地址。引用类型的变量持有的是数据引用(地址),数据是存储在堆区的。1.值类型数据存储在栈区,引用类型的数据存储在堆区。:类型元数据,程序集元数据,IL代码,资源。
2024-04-17 23:29:09
347
原创 cocos2d-x以及coocs2d的安装以及环境环境配置
1.直接解压安装,建议安装目录不要修改2.配置Python环境变量将Pyhton的安装目录(如:C:\Python27)追加到Path环境变量后面。
2023-12-02 21:27:38
390
1
原创 git的安装
svn与git的区别1.存储方式不同git是以元数据存储,也就是存储文件里的内容,key/value格式存储,返回key值作为唯一标识(行为很像map)svn是直接存储文件2.使用方式不同git:add(提交到本地暂存区)-->commit(提交到本地仓库)-->push(提交到远程仓库)svn:直接提交到远程仓库3.管理模式不同。
2023-12-02 20:33:58
1031
1
原创 Unity合成大西瓜,实现自动掉落和无尽模式
本项目是通过unity做成的一款趣味小游戏,通过设计框架,用地板和墙面阻挡水果超出边界并且反弹水果,同时水果之间也存在碰撞效果,相同水果碰撞会合成大一号水果,玩法简单,屏幕上方会出现待命水果,点击鼠标,调整位置,松开鼠标水果就会掉落,同时设置了高度限制,水果超过高度,游戏结束。通过UI设计历史高分与当前分数显示,也设立了水果掉落地板和合成新水果的游戏音效。其他外加功能:按住空格Space实现自动掉落水果,再次按下取消自动掉落,回到正常游戏模式;通过设置限高线的两个位置,通过两个bool变量实现无尽模式。
2023-05-28 16:57:06
818
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人