前言:
新一周开始了,开始接下来新知识的学习。书的内容会穿插出现,可能和视频里内容有出入。
24.5.27进度:(视频+书)
视频:
P7
书:
第四章-第五章
书第四章:
1.eg:int x = 10;//这句是字段,赋了值之后是字段的显性初始化,如果未初始化那就是字段的值是默认值即为隐性初始化,由其类型决定。
2.C#没有全局函数声明在类型声明的外部。
3.完整的方法声明:访问修饰符+返回值类型+方法名称+(参数列表)+{方法体}
方法声明:public int Sum (){}
4.声明之后创建实例:new组成对象创建表达式 ,是分配内存的过程。
创建实例:new+名称+()
第五章
5.{ }称之为方法体
在其中的本地变量eg:int x = 3;
控制流结构:选择、迭代、跳转语句.....
6. 常量和变量相似,但是常量初始化之后就不能被改变。 在声明的时候添加关键字const,且必须初始化。在它声明的块结束的地方失效。
const double PI = 3.1415926;//声明本地常量。
7.方法体的内部可以调用其他方法,调用的时候要使用方法名,带上参数列表:()
一对空的小括号被称为空的参数列表
8.形参:定义在方法处(函数头处),不在方法体内,可以在整个函数体内使用
public int Sum(int a,int b){ } //荧光处为 形参,形参是变量
9.实参:是初始化形参的表达式或变量,放在方法调用的参数列表里。
初始化即赋值,
P7:详解类型、变量和对象(下)P7和P6是上下部
1.C#值传递对象本质不是传对象而是传指针,一切就豁然开朗了(转自评论)
2.接触一个类的时候,选中类名eg:Form,右键->转到定义 或 按F12,就能跳转到微软定义这个类时候的文档,可以快速地知道它是什么类、怎么定义的。
(F12后:int竟然是结构体?)
3.类class、结构体struct、枚举enum是三类最常用的
4.枚举类型(enum):给一个集合,只能在集合中选择一个值,不能随便选择值。限定用户只能在一个集合中选有效值的时候才用得到。
5.在下图中,那个树形结构,以Object为根派生出来的一个结构,横线以上是真正的数据类型,object和string那一列对应的是引用类型,bool、byte、char那一列对应的是值类型。struct这个关键字是用来定义自己的结构体的,enum是定义自己的枚举类型的。
第三列true和false是布尔类型的值,真与假
void:不需要返回值;null:引用变量它里面的值是空的,这个引用变量不引用任何实例。
var、dynamic这俩用来定义变量。
蓝色字:这些关键字是现成的数据类型,且非常常用,常用到C#给吸收成自己的关键字了,实际上也是数据类型,是最基本数据类型,其他类型都是用这些类型构成的。
6.引用类型和值类型这两种变量在内存当中存储是不一样的。
7.变量:存储数据,变量名:表示(对应着)变量的值在内存中的存储位置,程序在内存中运行,未运行时就在硬盘里存储。变量是程序的一部分,它和程序一样在内存里,那值也在内存里,值在内存的哪个位置呢?变量名所对应的位置就是变量的值所对应的位置。
eg:int x;x=100;看上去好像是x是一个容器,存着100这个值,但实际上在计算机语言,x是一个标签,标签对应着一个内存中的地址,100这个值就存在内存中这个地址。
因为是int类型所以只有int类型的值才能保存到x所指示的地址上去,变量类型告诉系统,从这个位置开始,往后数多少个字节,这段内存保存变量的值。
8.提到变量的第一反应就是:局部变量,它是方法体内声明出来的
9.声明变量:身为程序员告诉编译器说在C#程序里我需要这个变量,你们要认识它
eg:int a;
10.写成两行的阅读性要比写成一行的阅读性好,虽然编译器读起来没有任何问题,但是我们自己读起来会比较别扭。
eg:int a=100,b=200;(X这样阅读性差)
------------------------------------------------------
int a=100;
int b=200;(这样阅读性好)
11.变量的结论:以变量名所对应的内存地址为起点,以其数据类型所要求的存储空间为长度的一块内存区域。【从46:00之后开始高能】
12.把excel表拿出来的时候就知道有多厉害了
碎碎念
其实总有这种心理,心急,总想速通。一些底层的知识有了一知半解就想去直接敲代码,但是当面对VS的时候又啥都想不起来,瞟一眼代码一拍大腿,不瞟一眼一下就忘。说明还是练得不够。只能是慢慢来了。