C#学习
文章平均质量分 74
普通网友
这个作者很懒,什么都没留下…
展开
-
C#设计模式:简单工厂模式
然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据所传入的参数的不同创建不同的具体产品对象;抽象类库:所要创建的类的基类,描述类所有实例所共有的公共接口(方法),可以是抽象类也可是接口类型(interface)。简单工厂模式简单来说就是创建一个工厂类,通过输入的参数创建对象赋值给基类,完成对想要的派生类的调用,从而达成目标,首先将需要创建的各种不同产品对象的相关代码封装到不同的类中,这些类称为具体产品类。3、工厂类库:根据参数的不同返回不同类的实例。原创 2023-08-15 10:06:38 · 695 阅读 · 1 评论 -
C#:设计模式:观察者模式
被观察者的状态发生了改变之后需要通知观察者做出相应的动作,比如在游戏中当我们点击了一个开始按钮,就需要加载音乐、场景等,这里的按钮就是被观察者,场景和音乐管理器就是观察者。观察者:相当于事件的订阅者(事件对应具体方法实现),它会观察被监视对象的某些属性,当这些属性发生变化时,会触发观察者做出对应的反应。加热水的加热器,时刻显示水温的显示器,当水温达到90度时的报警器。被观察者:相当于事件发布者(定义事件,触发事件),其中有一些属性来被其它对象所监视。思路:这题猫是被观察者,老鼠、主人、宝宝都是观察者。原创 2023-08-14 22:34:47 · 266 阅读 · 0 评论 -
C#:反射
(常用)Assembly.LoadFrom() 根据程序集的文件名或路径,加载程序集(绝对路径/相对路径);Assembly.LoadFile() 加载指定路径上的程序集文件内容(相对路径),和上面方法的不同之处是这个方法不会加载此程序集引用的其他程序集。:标识(名称、版本、区域性、公钥)、导出的类型、该程序集所依赖的其他程序集、运行所需的安全权限。:名称、可见性、基类和实现的接口、成员(方法、字段、属性、事件、嵌套的类型)。如果type是程序集,type.FullName 就是程序集的绝对路径。原创 2023-08-14 22:00:49 · 76 阅读 · 0 评论 -
C#:事件
事件。原创 2023-08-12 20:19:12 · 184 阅读 · 1 评论 -
C#:方法(函数)
方法就是一段代码,这段代码可能有输入的值(形参),可能会返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。引用传递:是指在调用方法时实际参数和形式参数都指向同一个内存,这样在方法中如果对参数进行修改,将会影响到实际参数。调用:对象.方法名() 注:如果调用同一个类里面的方法,对象名可以省略。小技巧:封装方法时,看你有几个参数是变化的,一般定义成几个输入参数。值传递:按值传递,传递过去的是该值类型实例的一个拷贝。原创 2023-08-11 17:56:03 · 68 阅读 · 1 评论 -
C#:枚举,结构体
结构体是值类型数据,当一个结构体变量作为函数参数传递时, 属于值类型的值传递,也就是传入的是一个副本,函数体内对结构体的改变,不会影响方法体外的结构体变量。如果想要改变,可以使用ref 或者out 进行值类型的引用传递,这样,传入的参数就是结构体本身,当方法体内改变了结构体变量也就是改变了方法体外的结构体变量。枚举可以是任何数字数据类型,例如 byte,sbyte,short,ushort,int,uint,long 或 ulong。枚举的第一个成员将为0,并且每个连续枚举成员的值将增加1。原创 2023-08-11 16:48:57 · 87 阅读 · 1 评论 -
C#: Array、 list<T>、Dictionary<T1,T2>
OrderBy方法可以安装list中的指定元素升序排序,而ThenBy方可以附件排序按升序排序。降序用反转Reverse。原创 2023-08-10 22:13:03 · 94 阅读 · 1 评论 -
C#:进阶(多线程)
2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间(代码段、堆栈段和数据段),这种操作非常昂贵;一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈(可以自己分配大小)和局部变量。因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。新建----->就绪----->运行------>阻塞------->死亡。进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。线程是共享进程中的数据的,使用相同的地址空间;原创 2023-08-10 16:08:22 · 78 阅读 · 2 评论 -
C#基础知识(数组)
数组索引--代表的是数组元素的所在位置,给位置做的编号,编号就是索引,但是这里特别注意。数组长度:数组中元素的个数 数组名.Length---得到数组的长度。数组名[索引号]--------这个整体就代表对应索引号的数组元素。3、数组如何进行初始化以及赋值、遍历数组的元素 、数组的元素 、数组索引。这叫数组越界---编译的时候不会报错 运行的时候会报越界错误。数组的遍历:依次访问数组中的每个元素的过程就叫做遍历数组。数组的初始化--就是数组在定义时同时给每个元素赋值。原创 2023-08-09 21:37:31 · 666 阅读 · 1 评论 -
异常捕获(补充)
执行过程:如果try中的代码没有出现异常,那么catch中的代码不会执行。如果try中的代码出现了异常,那怕这行出现异常的代码后面还有一百行都不会执行了,而是直接跳到catch中执行代码。我们在程序中经常会出现各种各样的异常,你如果想要你的程序变得坚强一些。在你的代码中应该经常性的使用try-catch来进行异常捕获。//try和catch之间不能有其他的代码。哪行代码有可能出现异常,你就踹它一脚。出现异常后要执行的代码;可能会出现异常的代码;原创 2023-08-09 21:08:29 · 23 阅读 · 1 评论 -
C#学习:基础阶段(流程控制语句)
执行流程:表达式1--》执行表达式2 --》(假则跳出循环)如果表达式2为真--》执行循环体中语句。----》表达式3--》表达式2--》如果表达式2为真继续循环体 为假跳出循环。switch-case----用于多种可能性,当你的条件有多种可能性的时候同时每种可能性是具体的一个值。选择结构-----用于多种可能性,当你的条件有多种可能性的时候同时每种可能性可能是一个区间范围。while循环 语法结构--循环次数不固定的时候可以想到while。先执行do的循环体里的语句 --》判断循环条件--》原创 2023-08-09 20:46:26 · 76 阅读 · 1 评论 -
C#学习一、基础阶段(2)
关系运算符:>(大于) < (小于) >=(大于等于)原创 2023-08-09 20:11:39 · 28 阅读 · 1 评论 -
C#学习一、基础阶段(1)
二、.netframework的构成部分以及中间语言(MSIL(微软中间语言) CIL(公共中间语言))三、变量与常量(重点)原创 2023-08-09 19:25:22 · 47 阅读 · 1 评论