欢迎光临散文网 会员登陆 & 注册

C#语言入门详解

2022-10-04 00:23 作者:小蛋糕XR  | 我要投稿

008-009 方法的定义、调用与调试

1.方法的由来


方法的定义、调用与调试_1 P8 - 03:58


a.方法(Method)的前身是C/C++的函数(function)

  • 方法是面向对象的范畴概念,在非面向对象语言中仍然称函数。

b.方法永远都是类(或结构体)的成员


方法的定义、调用与调试_1 P8 - 24:16


c.方法是类(或结构体)最基本的成员支一


方法的定义、调用与调试_1 P8 - 27:19


d.需要方法和函数的原因


方法的定义、调用与调试_1 P8 - 28:45



方法的定义、调用与调试_1 P8 - 30:45


2. 方法的定义与调用

a. 声明方法的语法详解


方法的定义、调用与调试_1 P8 - 37:58


b. 方法的命名规范

方法=方法头+方法体,

书写规范:🥇大写,大驼峰🥈动词或动词短语作为名字(帕斯卡命名法)

c. 静态方法和实例方法

静态方法隶属类class,实例方法则不是

d.调用方法


方法的定义、调用与调试_1 P8 - 51:30



010~012操作符的原理和使用

操作符、表达式和语句都是为方法服务,语句就是为了组成方法体(算法逻辑)

1. 操作符概览

a.操作符 Operator,也叫“运算符”。

b.操作符是用来操作数据的,该数据称为“操作数” Operand

2. 操作符的本质

a. 操作符的本质是函数(即算法)的“简记法”

b. 操作符不能脱离与他关联的数据类型

  • 可以说操作符就是与固定数据类型相关联的一套基本算法的简记法。
  • 自定义数据类型创建操作符


操作符详解_1 P10 - 13:47


c.运算优先级

  • 表格中优先级从上到下降低,同行优先级相同
  • 赋值操作符最晚运算,从右往左运算,其它运算符从左往右运算

2. 操作符的本质

a. 操作符的本质是函数(即算法)的“简记法”

b. 操作符不能脱离与他关联的数据类型

  • 可以说操作符就是与固定数据类型相关联的一套基本算法的简记法。
  • 自定义数据类型创建操作符

3. 操作符的优先级

a. 操作符的优先级

  • 可以使用圆括号提高被括起来表达式的优先级
  • 圆括号可以嵌套
  • 不像数据里由方括号和花括号,在C#语言里"[]"与“{}”有专门的用途

b. 同优先级操作符的运算顺序

  • 除了带有赋值功能的操作符,同优先级操作符都是由左向右进行运算
  • 带有赋值功能的操作符的运算顺序是由右向左
  • 与数学运算不同,计算机语言的同优先级运算没有“结合律”

4. 同级操作符的运算顺序

5. 各类操作符的示例

a基本操作符

b 一元操作符

这种操作符,只有1个操作数。又称“单目操作符”

c类型转换

c1. 隐式(implicit)类型转换

  • 代码中不用明确告诉值的数据类型转换成另一种数据类型,编译器自动转换
  • 子类向父类的转换
  • 装箱(类型章节讲过)

c2. 显式(explicit)类型转换

写代码时,明确告诉值的数据类型转换成另一种数据类型,编译器自动转换

  • 可能丢失精度(甚至错误)的转换,即cast(铸造的意思),操作符(A)b
  • 拆箱
  • 使用Convert类
  • ToString方法与各类数据的Parse/TryParse方法

c3.自定义类型转换操作符 (T)x


操作符详解_3 P12 - 31:57


d 乘法操作符 和 加法操作符

e 其它类型操作符

  • 逻辑“与” &、逻辑XOR ^、逻辑OR |
  • 条件And &&、条件OR ||

f 赋值和lambda表达式


017 字段、属性、索引器、常量

一、字段 field

1. 字段的定义


字段,属性,索引器,常量 P17 - 01:34



字段,属性,索引器,常量 P17 - 03:37


下面案例通过静态字段来表示类型当前的状态


字段,属性,索引器,常量 P17 - 07:37


下面用for循环代替实例化。


字段,属性,索引器,常量 P17 - 12:59


2.字段的声明

语法:特性opt 1个或多个修饰符 类型 变量声明器 ;


字段,属性,索引器,常量 P17 - 17:57


3.字段的初始值

4.只读字段

二、属性

1.什么是属性


字段,属性,索引器,常量 P17 - 32:47


1.1 属性(property)定义

  • 一种用于访问 对象/类型 的特征的成员,特征反映了状态。

1.2 属性是字段的自然扩展

下面展示字段一步一步演化成属性的.


字段,属性,索引器,常量 P17 - 36:60


1.3 属性由Get/Set方法进化而来

1.4 “语法糖”

  • 属性背后的秘密:语法糖是在编程语言中,一小段简单逻辑是为了隐藏复杂的逻辑,目的就是为了方便程序的编写


字段,属性,索引器,常量 P17 - 47:58


2. 属性的声明

2.1 完整声明

语法:特性opt 修饰符opt 类型 属性名字 { get set}


字段,属性,索引器,常量 P17 - 52:05


2.2 简略声明

简略声明的属性功能上与共有的字段是完全一样的,也就是说可能值不受保护,可能把非法值赋给属性,带有这种属性的类用来传递数据

2.3 动态计算的属性


字段,属性,索引器,常量 P17 - 01:05:35


2.4 注意实例属性和静态属性

静态属性:用statci修饰的属性,隶属于数据类型

2.5 属性的名字一定是名词

2.6 只读属性

只有getter,没有setter

3. 属性与字段的关系

  • 一般情况下,他们用于表示实体(对象或类型)的状态
  • 属性大多情况下是字段的包装器 wrapper
  • 建议:永远使用属性而不是字段来暴露数据,即字段永远是被保护的protected 或 private

三、索引器

1. 什么是索引器

选修,用途不多。


字段,属性,索引器,常量 P17 - 01:10:57



018 参数——传值、输出、引用、数据具名、可选参数,this参数

一、传值参数——传递值类型参数

1.值参数

1.1传值参数→值类型


传值/输出/引用/数组/具名/可选... P18 - 04:17


1.2 传值参数→引用类型,并新创建对象


传值/输出/引用/数组/具名/可选... P18 - 08:15



传值/输出/引用/数组/具名/可选... P18 - 09:49


1.3 传值参数→引用类型,只操作对象,不创建对象


传值/输出/引用/数组/具名/可选... P18 - 17:48


二、引用参数

1.定义

2. 引用参数图解

2.1引用参数→值类型


传值/输出/引用/数组/具名/可选... P18 - 22:23


2.2. 引用参数→引用类型,创建新对象

三、输出形参

1.定义

2.输出参数图示

2.1输出参数→值类型


传值/输出/引用/数组/具名/可选... P18 - 39:35



传值/输出/引用/数组/具名/可选... P18 - 44:22


2.2输出类型→引用类型


传值/输出/引用/数组/具名/可选... P18 - 48:41



四、数组参数


传值/输出/引用/数组/具名/可选... P18 - 54:23


1.必须时形参列表中的最后一个,由params修饰

五、具名参数


传值/输出/引用/数组/具名/可选... P18 - 01:01:28


六、可选参数


传值/输出/引用/数组/具名/可选... P18 - 01:04:20


七、扩展方法(this参数)


传值/输出/引用/数组/具名/可选... P18 - 01:05:55



传值/输出/引用/数组/具名/可选... P18 - 01:10:51



传值/输出/引用/数组/具名/可选... P18 - 01:11:39


019 委托详解

一、什么是委托

1.委托的定义

2.一切皆地址

3.直接调用与间接调用

4.委托的简单使用


委托详解 P19 - 09:25


二、委托的声明(自定义委托)

1.委托是一种类 class


委托详解 P19 - 17:13


2.委托的声明方式与一般的类不同.


委托详解 P19 - 18:54


三、委托的使用


委托详解 P19 - 27:08


1.实例:把方法当作参数传给另一个方法

1.1 模板方法


委托详解 P19 - 30:42


1.2 回调(callback)方法


委托详解 P19 - 40:44


2. 注意

难精通、易使用、功能强大的东西,一旦被滥用后果非常严重。


委托详解 P19 - 47:00


四、委托的高级使用


委托详解 P19 - 60:16


1.多波(multicast)委托

2. 隐式异步调用

2.1 同步与异步的简介

2.2 同步调用与异步调用的对比

2.3 隐式多线程 与 显示多线程



020-022 事件详解

一、了解事件概念

1.定义:Event

2.角色:使对象或类具备的通知能力的成员

3.使用:用于对象或类之间的动作协调与信息传递(消息推送给)

4.原理:事件模型Event Model中的两个“5”

  • 事件模型在构建运作的“5”个步骤:
  • “发生→响应”的“5”个部分

5.提示

二、事件的应用

1.实例演示

2.事件E模型的五个组成部分


事件详解_2 P21 - 17:35



事件详解_2 P21 - 26:45



事件详解_2 P21 - 35:08



事件详解_2 P21 - 41:33



事件详解_2 P21 - 60:51



事件详解_2 P21 - 01:02:16


三、深入理解事件

四、事件的声明

4.1 语法

4.1.1 完整声明


Linq详解_1 P22 - 03:38



Linq详解_1 P22 - 27:16



Linq详解_1 P22 - 33:26



Linq详解_1 P22 - 41:08



Linq详解_1 P22 - 54:38



Linq详解_1 P22 - 57:08


023 委托,Lambda,LINQ串讲

一、委托

1.什么是委托


C#语言入门详解(特辑001) P23 - 07:59



C#语言入门详解(特辑001) P23 - 17:43



C#语言入门详解(特辑001) P23 - 24:15



C#语言入门详解(特辑001) P23 - 35:06



C#语言入门详解(特辑001) P23 - 51:54


023 类

一、什么式类


什么是类 P24 - 08:06


026 重写、多态

027接口、抽象类


抽象类与开闭原则 P28 - 13:00



抽象类与开闭原则 P28 - 19:18



抽象类与开闭原则 P28 - 36:54


029 接口


接口,依赖反转,单元测试 P29 - 05:13



接口,依赖反转,单元测试 P29 - 15:02



接口,依赖反转,单元测试 P29 - 25:20



接口,依赖反转,单元测试 P29 - 32:08



接口,依赖反转,单元测试 P29 - 43:03



接口,依赖反转,单元测试 P29 - 52:31



接口,依赖反转,单元测试 P29 - 01:03:29



接口,依赖反转,单元测试 P29 - 01:06:21


030 接口隔离 反射特性 依赖注入


接口隔离,反射,特性,依赖注入 P30 - 07:12



接口隔离,反射,特性,依赖注入 P30 - 19:03



接口隔离,反射,特性,依赖注入 P30 - 32:21



接口隔离,反射,特性,依赖注入 P30 - 39:17



接口隔离,反射,特性,依赖注入 P30 - 44:47



接口隔离,反射,特性,依赖注入 P30 - 51:47



接口隔离,反射,特性,依赖注入 P30 - 01:02:42



接口隔离,反射,特性,依赖注入 P30 - 01:23:19


030 泛型,partial类,枚举,结构

一、泛型 无处不在


泛型,partial类,枚举,结构体 P31 - 09:44



泛型,partial类,枚举,结构体 P31 - 25:35



泛型,partial类,枚举,结构体 P31 - 34:18



泛型,partial类,枚举,结构体 P31 - 50:48



泛型,partial类,枚举,结构体 P31 - 57:26



泛型,partial类,枚举,结构体 P31 - 59:37



泛型,partial类,枚举,结构体 P31 - 01:14:49



泛型,partial类,枚举,结构体 P31 - 01:30:10




C#语言入门详解的评论 (共 条)

分享到微博请遵守国家法律