C#基础你都知道了吗?

基础数据类型*

在这里插入图片描述


C#的两大数据类型
值类型:简单类型、枚举类型、结构类型等。
引用类型:字符串类型 数组类型 类类型 对象类型、接口类型和代理类型。


关于类
class 类
public 公有的
protected 受保护的
private 私有的
abstract 抽象类
sealed 密封类
PS:这里要讲一下,抽象类只能继承却是不能被实例化,但是密封类就不一样了,不能被继承,只能实例化。
const 常量
这个表示他是不可变的,不可以修改。
readonly 只读
这个字段只能读取
static 静态
get:只能读不能写
set:只能写不能读


方法重载
方法重载指的是可以定义一个方法名相同,参数个数不同,参数类型不同,参数顺序不同。


类和结构体的区别
1、类定义用class 结构体用Strut
2、结构体中不可以对声明字段进行赋值,类可以
3、结构体中,无论我们有没有定义构造函数,隐式的构造函数一直存在
4、结构体中不能显示的定义无参的构造函数
5、结构体构造函数必须为所有的字段声明
6、创建结构体的对象是不能用new,类必须使用
7、结构体不能继承结构或者类可以实现结构,可以实现接口;类可以继承类,但不能继承结构。
8、类是引用类型结构体是值类型
9、结构体不能定义析构函数,类可以
10、结构体不能用abstract或者sealed修饰结构体,而类可以。


拆箱和装箱
装箱:将值类型转换为引用类型
步骤:
1、内存分配:在托管堆中分配内存空间用来存放复制的时间数据
2、完成实际数据的复制:将值类型实力的实际数据复制到新分配的内存中
3、地址返回:将托管堆中的对象地址返回给引用类型变量

拆箱:将引用类型转换为值类型
步骤:
1、检查实例:首相检查进行拆箱操作的引用类型是否为null,如果为null则抛出异常,如果不为null则继续检查变量是否和拆箱后的类型是同一类型
2、地址返回:返回已装箱变量的实际数据部分的地址
3、数据复制:将托管堆中的实际数据复制到栈中。
-------------------------------------------------------------------------------

猜你喜欢

转载自blog.csdn.net/weixin_42746271/article/details/89385856