C#学习
文章平均质量分 87
C#学习笔记
卡卡咔咔1
这个作者很懒,什么都没留下…
展开
-
【C#学习】31委托,Lambda表达式,LINQ
文章目录委托1.什么是委托?2.怎么使用委托?3.泛型委托Lambda表达式1.方法与Lambda表达式之间的关系2.把一个Lambda表达式赋值给一个委托类型的变量3.把一个Lambda表达式"喂"给一个委托类型的参数LINQ委托1.什么是委托?委托是类类型,是一种特殊的类,它表现在:(1)功能特殊:不是反映现实事物,而是 “包裹” 着一些方法,通过委托实例【间接调用】方法;委托是方法的...原创 2020-01-30 18:48:59 · 452 阅读 · 0 评论 -
【C#学习】30泛型,Partial类,枚举,结构
文章目录泛型泛型类泛型接口泛型方法泛型委托1.Action,Action<>,Func<>2.泛型委托与Lambda表达式Partial类1.什么是Partial类2.为什么需要Partial类?枚举类型1.为什么需要枚举类型?2.枚举值与整数值之间的对应关系3.比特位用法结构体类型2.值类型的特点泛型泛型:泛化数据类型,与其相对应的是具体化,特化;比如说,我喜欢听...原创 2020-01-30 14:03:14 · 513 阅读 · 0 评论 -
【C#学习】29(01)接口隔离,反射
接口隔离原则接口隔离原则:Interface Segregation Principle,ISP定义:客户端不应该依赖它不需要的接口类间的依赖关系应该建立在最小的接口上也就是说:不要在一个接口里面放很多的方法,这样会显得这个类臃肿不堪。接口应该尽量细化,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少,使接口更加轻便灵活。但要注意区分【接口隔离原则】和【单一职责原则】,...原创 2020-01-27 17:11:48 · 352 阅读 · 0 评论 -
【C#学习】28接口,依赖反转,单元测试
什么是接口?接口的本质:功能的调用者与功能的提供者之间共同遵循的契约(contract)为什么要使用接口?在代码中,如果有可以替换的地方,就一定有接口的存在;接口就是为了松耦合而生,而松耦合最大的好处,就是让功能的提供者变得可替换图9图10例1:对一组整数进行求和,求平均值操作(这一组整数可放在整型数组中,也可放在 ArrayList 中)(1)不使用接口:需要分别对两种类型的整数...原创 2020-01-24 16:50:58 · 571 阅读 · 1 评论 -
【C#学习】27抽象类与开闭原则
什么是SOLID?【SOLID】是5个面向对象设计原则的首字母组合,它们分别是:(1)Single Responsibility Principle(SRP) ——单一职责原则(2)Open Close Principle(OCP)——开放关闭原则(3)Liskov Subsititution Principle(LSP)——里氏替换原则(4)Interface Segreguation...原创 2020-01-23 18:49:19 · 320 阅读 · 0 评论 -
【C#学习】26重写,多态
文章目录重写和隐藏重写与隐藏发生的条件什么是多态重写和隐藏什么是隐藏什么是重写“virtual”【可被重写的】,可理解为:名义上的,名存实亡的“override”【重写方法】,被其修饰的方法也可被重写重写与隐藏发生的条件(1)必须是函数成员,而不是数据成员(2)该成员从父类继承下来必须对子类可见(3)该函数成员在父类与子类中签名一致注意:【隐藏】在日常工作中几乎...原创 2020-01-23 17:17:38 · 226 阅读 · 0 评论 -
【C#学习】25类的继承,类成员访问
声明继承类的语法:在类名后加冒号[:],冒号后写【基类,或基接口】;基类和基接口统称为【类基础】术语规范:基类与派生类;父类与子类如果没有为一个类指明基类,实际上是派生自【System.Object】,该类是所有类型的基类,由于 .NET 类型系统是单根的,所以Object类处在所有类型继承链的顶端【是一个(is a)】概念一个子类的实例,从语义上讲,也是父类的一个实例比如:一个学生,也...原创 2020-01-21 13:38:59 · 533 阅读 · 0 评论 -
【C#学习】24类的访问级别
文章目录声明类的位置声明VS定义类声明的语法格式代码示例纠正:【声明】 类,【创建】 实例声明类的位置(1)名称空间中(最常见)(2)全局名称空间中——所有显式的名称空间之外(3)类中:声明在类体中的类是【成员类】,它像属性,方法,字段一样属于【类成员】声明VS定义在C++中,类的声明与定义是可分开的,并且编程规范建议分开写但在C#中,类的声明与定义不能分开,必须合在一起,所以可...原创 2020-01-19 19:41:37 · 636 阅读 · 0 评论 -
【C#学习】23什么是类
什么是类?(1)类是一种数据结构(data structure)类本身是抽象的结果,同时也是抽象数据,抽象行为的载体(2)类是一种数据类型类是一种引用类型,具体到每一个类上,每一个类都是一个自定义的类型(3)类代表现实世界中的 “种类”【静态成员】的作用就会凸显示例代码(1)类是一种数据结构图1类不仅是抽象数据,抽象行为的载体,也是面向对象编程技术的承载(有了类,才能对面向对象...原创 2020-01-19 13:37:09 · 1411 阅读 · 0 评论 -
【C#学习】22事件详解(下)声明自定义事件,澄清有关事件的误会
事件的声明格式包括:完整声明,简略声明简略声明是完整声明的语法糖衣,所以掌握事件的完整声明格式,可以了解事件声明的内部结构事件的完整声明实现:服务员 订阅,处理【点菜事件】事件模型的5个组成部分:(1)事件的拥有者:顾客(2)事件:点菜(3)事件的响应者:服务员(4)事件处理器:报菜单,记账(5)订阅事件...原创 2020-01-18 19:41:29 · 621 阅读 · 0 评论 -
【C#学习】21事件详解(中)深入理解事件模型的5个组成部分;使用已经准备好的事件
文章目录事件模型的基本理论1.事件模型的5个组成部分2.事件是不会主动发生的3.事件订阅解决的3个问题4.什么是事件,如何使用事件?事件组成部分的几种组合方式5.事件的拥有者和事件的响应者是完全不同的两个对象6.事件的拥有者同时也是事件的响应者7.事件拥有者是事件响应者的一个字段成员知识补充8.一个事件处理器是可以被重用的9.挂接事件处理器的其他方式10.如何用WPF应用程序使用事件?事件模型...原创 2020-01-17 18:15:05 · 2638 阅读 · 1 评论 -
【C#学习】20事件详解(上) 初步了解事件,事件模型的基本理论
文章目录1.什么是事件?2.事件模型的原理(1)事件模型的5个组成部分(2)事件模型在构建和运作时的5个步骤3.术语约定4.补充1.什么是事件?事件是一种类型成员,可以把它理解为【能够发生的什么事】属性,事件,方法,是最重要的三种类型成员;其中,属性的作用是:存储数据;方法的作用是:逻辑运算;而事件的作用是:使类或者对象具备通知能力举例:手机有响铃这个事件手机可以通过响铃这个事件来通知...原创 2020-01-17 09:48:36 · 379 阅读 · 0 评论 -
【C#学习】19委托详解
本节内容图1什么是委托?Java是由C++发展而来,但前者为了提高应用程序的安全性,禁止程序员直接访问内存地址,但C#中通过 “委托” 这种数据类型保留了与函数指针相对应的功能图21.什么是函数指针?函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,...原创 2020-01-15 20:16:14 · 429 阅读 · 0 评论 -
【C#学习】18传值,输出,引用,数组,具名,可选参数,扩展方法
文章目录传值参数(值参数)1.传值参数的定义2.值类型的传值参数3.引用类型的传值参数(创建新对象)4.小知识:GetHashCode()方法5.初学者常见的两个疑惑6.引用类型的传值参数(不创建新对象,只操作对象)7.提醒输出参数1.输出参数的定义2.值类型的输出参数3.调用带有输出参数的方法4.声明带有输出参数的方法5.引用类型的输出参数引用参数1.引用参数的定义2.值类型的引用参数3.引用类...原创 2020-01-14 19:17:06 · 405 阅读 · 0 评论 -
【C#学习】17字段,属性,索引器,常量
字段,属性,索引器,常量都是用来表达数据的类型成员程序 = 数据 + 算法C#中的类型(这里指类和结构体)都具有哪些成员?图1字段图21.字段的本质和作用字段的本质是变量,但与方法体当中的局部变量不同,后者是在方法运行时帮助方法暂时存储数据;而字段是用来为对象或类型存储数据的,那么,当一个对象或类型有多个字段时,这些字段的值就可组合起来表示该对象或类型的目前状态;字段的英文单词是 ...原创 2020-01-08 23:37:58 · 339 阅读 · 0 评论 -
【C#学习】16表达式,语句详解(04)迭代语句,跳转语句
迭代语句(循环语句)包括:while语句,do语句,for语句,foreach语句跳转语句包括:break语句,continue语句,goto语句,return语句,throw语句由于迭代语句中的while语句,do语句与跳转语句中的break语句,continue语句联系紧密,所以放在一起整理迭代语句的功能:在某个条件的控制下,让某一段逻辑(循环体)反复执行...原创 2020-01-06 18:03:08 · 239 阅读 · 0 评论 -
【C#学习】15表达式,语句详解(03)块语句,选择语句,try语句
文章目录块语句1.什么是块语句?2.什么是语句列表?3.如何识别块语句?4.关于块语句需要注意的两点5.变量的作用域6.一个小技巧7.简单说明标签语句选择(判断,分支)语句1.什么是选择语句?2.if语句3.如何写出结构清晰的if语句嵌套4.switch语句try语句1.什么是try语句?2.如何在程序中使用try语句来捕捉异常,使程序具有容错性?3.如何把包含在异常中的消息直接传递给用户?4.在...原创 2020-01-05 21:50:11 · 658 阅读 · 1 评论 -
【C#学习】14表达式,语句详解(02)声明语句,表达式语句
语句的定义1.语句的定义A Progam written in such a language is formed by a sequence of one or more statements.可见,编程编程,就是使用语句编写程序2.语句的功能表达式是最小的算法元素,但是不独立,只有到了语句这个层面,才能独立地通过编译(1)语句是命令式编程语言中最小的独立元素(2)语句表达...原创 2020-01-04 11:13:46 · 438 阅读 · 0 评论 -
【C#学习】13表达式,语句详解(01)
文章目录1.表达式的定义2.各类表达式概览需要注意的几类操作符构成的表达式(1)前置/后置的自增与自减(2)default(3)null值合并操作符:??(4)条件操作符:"?:"(5)赋值表达式1.表达式的定义我们可把表达式简单理解为:专门用来求值的语法实体。C#中,表达式通过求值可获得4类值:single value;object(对象);method;namespace注意:(...原创 2020-01-03 18:49:24 · 460 阅读 · 0 评论 -
【C#学习】12操作符详解(下)
1.算术操作符算术操作符包括乘法运算符(乘 *,除 /,取余 %),和加法运算符(加 +,减 -);计算机中的算术操作符和数学中的运算符使用起来基本没有差别,但是要注意以下三点:(1)任何一个操作符都不能脱离其数据类型(2)数学运算符中并没有取余符号 %(3)在C#中进行数值计算时,务必要注意数值提升什么是数值提升?当运算符发现两边操作数的数据类型不一致时,为了损失运算结果的精度,就...原创 2020-01-03 17:34:31 · 255 阅读 · 0 评论 -
【C#学习】11操作符详解(中)一元操作符
一元操作符:只有一个操作数跟在操作符后1.最不常用:取址操作符 " & " ,取引用操作符 " * "2.+ - 操作符“+” “-“操作符进行数学运算时与数学上的正负运算符几乎没有什么差别,需要注意的一点是:由于带有符号的数据类型其最大值,最小值在绝对值上不对称,所以,如果”+” "-"操作符运用不当,就有可能会造成值溢出。3.求反操作符:~对一个在二进制级别上的值进行按位取反...原创 2020-01-02 23:09:45 · 547 阅读 · 0 评论 -
【C#学习】10操作符详解(上)基本操作符
课件笔记1.什么是操作符?操作符(Operator)也可以称作 运算符 ,操作符是用来操作数据的,(被操作符操作的数据称为操作数(Operand));操作符的个数代表了一门编程语言最基本的运算能力,有了这些最基本的运算能力,就可以组合成我们想要的更复杂的逻辑,且操作符个数越多,组合时就越方便。2.操作符的本质操作符是函数的 “简记法”;计算机操作符与数学运算符在本质上是相同的,最大的区...原创 2020-01-02 11:38:46 · 414 阅读 · 0 评论 -
【C#学习】09方法的定义,调用与调试(下)方法的调用与栈的关系
构造器1.什么是构造器?构造器,又称构造函数,是类型的成员之一(类型的成员有十多种),通常我们说的构造器,是指狭义上的理解:实例构造器(instance constructor)。2.为什么需要构造器?实例构造器的作用:用来构建这个实例在内存中的内部结构。当需要类中某些实例字段的值为一个固定值或者需要在创建实例时根据情况规定时,自定义构造器可以帮助我们实现这个目的。3.构造器的声明注...原创 2019-12-31 09:58:47 · 312 阅读 · 1 评论 -
【C#学习】08方法的定义,调用与调试(上)
课件笔记1.方法的由来C#中的方法,是由C,C++中的函数演变而来的。C中的函数C++中的函数当一个函数,以类的成员身份出现时,就被称为方法,所以方法也称成员函数。方法永远都是类(或结构体)的成员,不能独立与类(或结构体)之外。2.面向对象编程把字段与方法(成员变量和成员函数)封装在类里,更好理解,更好管理,更自然地反应现实世界中事物的运作规律。3.方法的作用(1)隐...原创 2019-12-29 12:29:49 · 228 阅读 · 2 评论 -
【C#学习】07详解类型,变量与对象(下)值类型变量与引用类型变量存储机制详解
课件1,3,8笔记C#的数据类型系统1.数据类型构成数据类型系统,C#有五大数据类型,分别是:引用类型:(1)类(2)接口(3)委托值类型:(4)结构体(5)枚举2.初学者常用的三种数据类型(1)“类”类型:用 Class 声明(2)“结构体”类型:用 Struct 声明如常见的:byte , sbyte , int , double , char , short 等...原创 2019-12-28 16:22:23 · 547 阅读 · 0 评论 -
【C#学习】06详解类型,变量与对象(上)
课件笔记1.什么是内存?内存——内部存储单元,就是计算机程序运行的空间,相对地,外存——扩展存储器,又叫硬盘,是计算机程序不运行时放置的空间。启动一个软件,实际过程就是从硬盘———(加载数据)———>内存。2.什么是程序的静态时期,动态时期?程序不运行时,是其静态时期,也就是 编辑期,编译期。程序运行时,是其动态时期,也就是 运行期。所以,根据以上1,2两点,可知:静态...原创 2019-12-27 18:39:04 · 203 阅读 · 0 评论 -
【C#学习】05 C#语言基本元素概览,初识类型,变量与方法,算法简介
课件笔记1.命名方式(1)帕斯卡(pascal):当变量名和函式名称是由二个或二个以上单词连结在一起,每个单词首字母大写。用以命名方法,类,名称空间。(2)驼峰式:当变量名或函数名是由一个或多个单词连结在一起,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母。用以命名变量。2.文本(1)整数普通整型 int长整型 long在 long 类型中使...原创 2019-12-27 12:55:57 · 235 阅读 · 0 评论