深入Net框架

C#的深入

一、深入.Net框架

1、.Net框架的结构

​ 主要包含CLR和FCL两个组件。

1.1、CLR:公共语言运行时

​ 包括CTS和CLSl两个组成部分。

​ 1、CTS:通用类型系统

​ 作用:用于解决不同语言数据类型不同的问题

​ 2、CLS:公共语言规范

​ 作用:限制了由这些不同点引发的互操作性问题。

1.2、FCL:框架类库

​ 作用:用来提供命名空间。

2、类和对象

1、三大特性

​ 封装:将一些类的内部构造私有化

​ 继承:子承父

​ 多态:一种事物的多种形态

2、类的成员

​ 1、字段:为private的

​ 2、属性:为public

​ 有三种属性:只写属性、只读属性、读写属性

​ 自动生成属性的快捷键:prop关键字+table+table

​ 3、方法

​ 语法:访问修饰符 返回值类型 方法名(){ }

3、类图

​ +:表示公有成员

​ -:表示私有成员

​ 特点:类型和返回值类型在冒号后面

二、深入C#数据类型

1、常用的数据类型

int 整型
float 单精度浮点
double 双精度浮点
string 字符串
bool 布尔
enum 枚举

2、值类型

​ 1、包括:int、float、double和枚举等

​ 2、命名空间为:System.ValueType

3、引用类型

​ 1、包括:数组、类、集合和接口等

​ 2、命名空间为:System.Object

4、结构

​ 1、关键字:struct

​ 2、语法:

访问修饰符   struct  结构名
{
	//结构体
}

​ 3、结构的使用

​ 可以不用new,直接定义结构的对象即可。

​ 声明结构的对象后,必须给结构的成员赋初值。

​ 4、结构的特点:

​ 1、字段不能赋初始值

​ 2、不能手写无参构造函数

​ 3、结构里面有多少个字段,定义构造函数就必须有多少个参数

​ 4、使用:可以new、也可以不用new

​ 结构在使用的时候要给所有的字段赋值

5、装箱和拆箱

​ 1、装箱

​ 概念:将值类型转换为引用数据类型

static void Main(string[] args)
{
    int i = 123;
    object o = i;	//装箱
}

​ 2、拆箱

​ 概念:将引用转换为值类型

static void Main(string[] args)
{
    object o = 112;
    itn j = o;		//拆箱
}

6、参数的传递

​ 1、值方式参数传递

​ 1、参数可以是引用数据类型,也可以是指类型。

​ 2、特点:当参数是值类型时,形参的改变不会影响实参,而当参数是引用数据类型时,形参的改变会影响实 参(string除外)。

​ 2、引用方式参数传递

​ 1、参数可以是引用数据类型,也可以是指类型。

​ 2、使用ref关键字

​ 3、特点:形参的改变都会影响实参。

三、使用集合组织相关数据

1、ArrayList集合

​ 1、ArrayList常用的属性:Count(获取ArrayList中实际包含的元素数)

​ 2、ArrayList常用的方法:

方法名称 含义
Add(Object value) 添加对象
RemoveAt(int index) 移除ArrayList指定下标的元素
Remove(Object value) 移除指定的对象
Clear() 清空元素

​ 3、ArrayList的语法:

​ ArrayList 对象名 = new ArrayList();

​ 4、arrayList的遍历

static void Main(string[] args)
{
    ArrayList 对象名 = new ArrayList();
    foreach(Object obj in 对象名)		//foreach循环遍历
    {
        Console.WriteLine(obj);
    }
}

2、List集合

​ 1、List的语法:

​ List 对象名 = new List();

​ 2、List和ArrayList的区别

​ List:属于泛型集合,会约束元素的数据类型,取值的时候不需要进行类型的转换

​ ArrayList:属于非泛型集合,不会约束元素的数据类型,取值的时候需要进行类型的转换。

​ 3、List的属性和方法

​ 与ArrayList 使用一样的属性和方法

​ 4、List的遍历

foreach(SE se in engineers)
{
    MessageBox.Show(se);	//无需进行类型转换
}

3、Hashtable集合

​ 1、Hashtable的语法

​ Hashtable 对象名 = new Hashtable();

​ 2、常用的属性

属性名称 说明
Count 获取元素的数目
Keys 获得键的集合
Values 获取值的集合

​ 3、常用的方法

方法名称 说明
Add 添加元素
Remove 移除特定的元素
Clear 清空所有元素

​ 4、遍历

foreach(Object obj in engineers.Keys)
{
	Console.WriteLine((string)obj);
}

4、Dictionary集合

​ 1、语法

​ Dictionary<K,V> 对象名 = new Dictionary<K,V>();

​ 2、常用的属性

​ 与Hashtable相同,Count、Keys、Values

​ 3、常用的方法

​ 与Hashtable相同,Add()、Remove()、Clear()

​ 4、遍历

foreach(SE se in engineers.Values)
{
	MessageBox.Show(se.SayHi());
}

5、泛型类和非泛型类

​ 1、泛型类:在类名上有数据类型。

​ 2、非泛型类:class类

6、泛型集合和非泛型集合的区别

​ 1、泛型集合:约束数据类型,不需要进行类型的转换。

​ 2、非泛型集合:不约束数据类型,读取时需要类型转换。

四、深入类的方法

1、构造函数

1.1、构造函数的语法

​ 访问修饰符 类名(参数列表){//方法体}

1.2、构造函数的分类

​ 1、无参构造函数

​ 2、有参构造函数

​ 3、隐式构造函数

​ 当没有自定义构造函数的时候,会有一个系统隐藏的构造函数

1.3、构造函数的作用

​ 用来new对象,还可以给成员变量赋值

2、重载

2.1、重载的分类

​ 1、构造函数的重载

​ 2、方法的重载

2.2、重载的特点

​ 1、在同一个类中

​ 2、相同的方法名

​ 3、参数不同:个数不同、对应的参数下标的参数类型不相同

2.3、重载的调用规则

​ 根据参数[个数+类型]调用

2.4、重载的注意事项

​ 1、不能以返回值类型的不同来决定重载

​ 2、不能以访问修饰符的不同来决定重载

3、对象交互

​ 概念:每个对象之间都有着传递信息的功能

发布了7 篇原创文章 · 获赞 0 · 访问量 99

猜你喜欢

转载自blog.csdn.net/weixin_45462325/article/details/104466223
今日推荐