![](https://img-blog.csdnimg.cn/20210425111903338.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C#
文章平均质量分 60
C#
实干的空想家
这个作者很懒,什么都没留下…
展开
-
UML类图关系
一.继承关系(泛化关系)1.描述:继承关系是子类(派生类)继承父类(基类)的属性方法,或者子接口继承父接口的关系。继承时类与类或者接口与接口之间最常见的关系。2.代码:class bird //bird父类{ public void wing(); //公共方法}class owl :bird //子类继承父类{ public void oxeye(); //子类继承父类的基础上扩展自己的方法}扩展:一个子类继承一个父类,一个父类可以有多个原创 2021-04-27 20:18:43 · 373 阅读 · 24 评论 -
抽象类和接口
一.抽象类:抽象类用来表示对问题领域进行分析设计得出的抽象概念,是对一系列本质上相同的具体概念的抽象。举例:以动物为例,定义一个抽象类animalpublic abstract class animal{ public string vendor{ger;set;} //公共属性 public abstract float price{get;} //抽象属性必须是公有的 public abstract void GrowInArea(); //抽象方法必须是公有的}原创 2021-03-13 10:38:34 · 133 阅读 · 36 评论 -
设计模式—外观模式
一.外观模式1.定义:外观模式又称门面模式,它为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式可以很好的解决让子系统外部的客户端在使用子系统时,既能简单的使用这些子系统内部的模块,又不用客户端与子系统内部的多模式交互。2.解决问题的思路:通俗来讲就是根据客户端的需要定义一个简单的接口,然后让客户端调用接口,剩下的客户端就不用管了。接口就是客户端和被访问的系统之间的一个通道,并不一定是interface,在这里这个接口通常原创 2021-01-27 09:21:29 · 158 阅读 · 33 评论 -
C#中成员变量和局部变量
一.成员变量1.定义:在类中定义的变量是成员变量;2.作用范围:在整个类中都有效;3.分类:成员变量又分为实例变量和静态变量4.默认值:(成员变量不赋初始值的情况下,会自动匹配默认值)创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每一个成员变量初始化为他的默认值。对于其他情况,编译器会在创建变量时,把变量初始化为默认值。1、对于整型、浮点型、枚举类型(数值型),默认值为0或0.0。2、字符类型的默认值为\x0000。3、布尔类型的默认值为原创 2021-01-26 16:05:31 · 4332 阅读 · 25 评论 -
反射+配置文件
机房重构遇到了反射+配置文件,查了一些资料,接下来了解一下1.什么是反射:Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息。2.反射的作用:在.Net Framework中提供了反射机制,可以在加载程序运行时,动态的获取和加载程序集(dll也就是动态链接库),获取程序集原创 2021-01-24 16:39:07 · 470 阅读 · 28 评论 -
软件设计原则的理解
在网络信息化时代,计算机技术得到飞速发展,人们对于软件的安全性与重用性的需求也越来越高,为此软件设计模式也越来越受重视。一个好的程序必然离不开好的设计,然而好的设计理念必然离不开软件设计原则,运用好设计原则将会提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性。下面将会介绍软件设计的六大原则。一.开闭原则(软件设计的终极目标)----封装含义:当应用的需求改变时,在不修改软件代码的前提下,可以扩展模块功能,使其满足新的需求。作用:提高代码的可复用性,软件的可维护性实现方法:可以为软原创 2021-01-17 11:58:23 · 423 阅读 · 21 评论 -
C#三层架构
一.引言:在之前就听说了三层,这段时间对三层有了些了解,三层就是将系统的界面,数据库,数据的处理进行分离,以便于程序开发人员对程序整体的把握和理解。二.简介:1.三层:表示层(UI,User Interface),业务逻辑层(BLL BusinessLogicLayer),数据访问层(DAL Data Access Layer)(1)UI层:是用户看到的界面层;(2)Bll层:是UI层和D层的桥梁,连接两层主要进行一些数据的处理操作,从D层获取数据传给UI层,进行一些逻辑判断;(原创 2020-11-08 21:00:53 · 1611 阅读 · 14 评论 -
用”软删除“来删除数据库中的数据
一.软删除:(Soft Deleting),即在删除数据表中的数据时,并不直接将其从数据表中删除,而是将其标志为删除,即在每张表中设置一个删除字段(如:IsDeleted)等,默认情况下其值为0,及未删除状态;当需要将数据删除时,则将此字段更新为1。在现实中,我们所说的删除并不是真正的做删除,往往我们在数据库中删除掉一些数据后,想要恢复就会很难,这样的话用到软删除再次查看就会方便很多。例如:公司“解雇”了一名员工,而不是删除了员工;公司“取消”了订单,而不是删除了订单;公司“停用”了一台设备原创 2020-11-08 10:48:35 · 1818 阅读 · 17 评论 -
连接查询—内连接
一.sql中连接查询分类:内连接, 外连接,(左外连接,右外连接) 自然连接, 交叉连接二.内连接1.概念:内链接[inner]join,从左表中取出每一条记录,去右表中与所有记录进行匹配;是某个条件在左表中与右表中相同最终才会有保留结果,否则不保留。 2.基本语法:左表 [inner] join右表 on左表.字段 = 右表.字段;on表示连接条件:条件字段就是代表相同的业务含义(如my_student.c_id和my_class.id),大多数情况下为两张表中的主外键关系..原创 2020-11-07 15:34:46 · 599 阅读 · 13 评论 -
ADO.NET中五个对象
一.五类对象1.Connection对象:connection对象是开启数据库与程序之间的连接,是一个连接对象,用来创建连接对象,没有这个对象是无法从数据库获取到信息。它在ADO.NET最底层。2.Command对象:对数据库发出命令,创建命令对象,对数据库下达查询,新增,修改,删除的命令,command对象是创建在connection对象基础之上,通过connection连接到数据源。3.DataAdapter对象:构造适配器调用结果集会用到,主要是在数据源和DataSet之间执行原创 2020-10-30 09:34:06 · 6185 阅读 · 16 评论 -
设计模式—六大原则
设计模式的六大原则是我们在程序设计中所要遵守的原则,想要精通设计模式必须先明白这六大原则。设计模式六大原则:一.开闭原则(总纲):核心思想:一个软件实体如类,模块和函数应该对修改封闭,对扩展开放 优点:可复用性,可维护性 注意:通过接口或者抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或抽象类中不存在的public方法 参数类型、引用对象尽量使用接口或者抽象类,而不是实现类 抽象层尽量保持稳定,一旦确定即不允许修改二.单一职责原则:核心思想:应该有且仅有一个原因引起类的变.原创 2020-10-26 17:03:20 · 281 阅读 · 22 评论 -
设计模式—单例模式
单例模式是设计模式的一种,属于创建型模式。这种模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。 一.单例的实现主要是通过以下两个步骤: 将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该类的构造方法来实例化该类的对象,只有通过该类提供的静态方法来得到该类的唯一实例; 在该类内提供一个静态方法,当我们调用这个方法时,如果类持有的引用不为空就返回这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引用。 二.单...原创 2020-10-24 19:59:13 · 154 阅读 · 13 评论 -
设计模式—工厂模式
学好设计模式对程序员来说非常重要,设计模式与程序员的架构能力和阅读源代码的能力息息相关,设计模式一共有23种,先介绍一下工厂模式一.工厂模式:简单工厂模式 工厂方法模式 抽象工厂模式1.简单工厂:举个例子,构建对象最常用的就是new一个对象,当我们需要一个键盘时,我们需要键盘的构造方法,需要一个鼠标时我们需要知道鼠标的构造方法,然而当我们需要的更多时,只是增加了相关的类,增加了类之间的关系...原创 2020-10-24 11:41:56 · 149 阅读 · 13 评论 -
C#中i++和++i
之前看视频对i++和 ++i的理解不是很清楚,今天又回顾了一遍。1.i++这个例子将 int num 赋值为10,然后定义一个number 令number=10+num++;在这里运算的过程是先取num的原值10参与运算,然后num再自身+1输出结果:num=10+1=11 ;number=20;2.++iint num = 10;++num;int number = ++num +10;Console.WriteLine(num);Console.WriteL.原创 2020-09-26 09:56:19 · 2237 阅读 · 21 评论 -
C#构造函数
一.什么是构造函数:构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。二.实例介绍:1.下面的实例中构造了一个简单的构造函数,class Preson 表示的是一个Person类public Person()表示的是一个Person的构造函数,其中Person里面包括多个参数:name,gender,age,chinese,math,english;因为类在声明时系统会给出默认的无参数的构造函数public Person()只原创 2020-09-08 11:28:57 · 462 阅读 · 14 评论 -
C#out和ref传值
一.out传值:方法的参数用out修饰,那么这个参数必须在方法里面赋值,外面不可以赋值。out传值是把方法里面的参数值传到参数外面,向原函数赋值。必须给out修饰符的参数附初始值。二.ref传值:使用ref修饰,得到该参数的值,重新赋值后传到方法外面,更新原参数值。三.两者区别:1.ref必须赋初值,out可以不赋初值2.ref有进有出,out只出不进3.传递到 ref 参数的参数必须最先初始化。这与 out 不同,后者的参数在传递之前不需要显式初始化联系:两者都是按地址传递原创 2020-09-05 20:08:27 · 355 阅读 · 13 评论 -
C#—冒泡排序
一.冒泡排序:冒泡排序是程序设计中一种较为简单的排序算法,其原理是对重复的对需要排序的数进行大小比较,一次比较二个元素,如果第一个数比第二个大则,交换顺序,把第二个小的数放到前面,不断比较,知道形成由小到大顺序的数字。二.举例说明:1.首先在main这个主方法中声明两个变量,整形数组变量nums并赋值,定义一个中间变量temp,使得int temp = 0。2.用for循环来实现变量,并且定义两个变量,j和i ,变量j是循环次数,i为比较两个数的大小,nums.Length为原创 2020-08-31 21:27:10 · 4033 阅读 · 14 评论 -
C#—常量变量枚举
一.常量:1.什么是常量:常量是在程序运行过程中,其值不会发生变化,常量也是用来存储指定数据类型值的容器。常量的值不可改变。1.1常量定义:Const关键字来定义,const+数据类型+变量名称注:凡是定义了常量,必须给常量赋值,否则会报错1.2枚举:枚举类型是一种值的类型,用于声明一组命名的常数。1.3枚举声明:访问修饰符+enum+枚举名1.4枚举例子:在枚举中系统会自动给枚举赋整数值,0,1,2等public enum Gender{ ..原创 2020-08-30 16:22:22 · 822 阅读 · 12 评论