【NET】--基本常识

本文详细阐述了.NET框架的核心组件及其作用,包括CLR、FCL、CTS、CLS等,并深入探讨了.NET数据类型、参数传递方式、装箱与拆箱、静态成员与实例成员的区别以及ArrayList、Hashtable、List<T>、Dictionary<TKey,TValue>等集合类的特点。同时,文章还介绍了构造函数、方法重载的规则和返回类型无关性,以及参数传递的四种方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1、.NET框架核心组件及作用和.NET程序完整编译过程图?
.netframework:
 CLR:公共语言运行时:提供运行
 FCL:框架类库:提供开发


源代码(.cs)---->中间码(.exe)--JIT(即时编译器)-->机器码(0/1)


2、公共语言运行时(CLR)的两个重要组件?及它们各自的作用?
 CLR:在.net平台下
 CTS:公共类型系统:将不同语言的数据类型进行统一化
 CLS:公共语言规范:将不同语言的语法进行统一化


3、.NET数据类型中,值类型和引用类型分别有哪些?
值类型:int long double float boolean struct enum
引用类型:string 数组 类


4、值类型和引用类型分别存储在内存的哪里?各有什么特点?
值类型:存放在内存的栈中:有次序存放数据 赋的是实际的值
引用类型:存放堆中,任意开辟空间 赋的是指向实际数据的地址


5、参数传递的方式有哪些?分别写出各种方式的特点?
1、值方式传递值类型:传递的是实际的值
2、值方式传递引用类型:传递的是指向实际数据的是地址
3、引用方式(ref/out)传递值类型:实参和形参共用同一个栈区及共用同一个值
4、引用方式传递引用类型:实参和形参共用同一个栈区及共用同一个地址


6、什么是装箱与拆箱?及拆箱的特点?
装箱:值类型转换为引用类型
拆箱:引用类型转换为值类型 需强制类型转换成装箱前的类型


7、静态成员与实例成员的异同点?
静态成员:static 只能是类名调用
实例成员:只能用对象调用
静态方法:可以直接访问本类的静态成员 实例成员需创建对象
实例方法:可以直接访问本类的静态和实例成员


8、ArrayList、Hashtable、List<T>、Dictionary<KeyT, ValueT>它们各自的特点?(越全越好)
ArrayList:可以添加任何类型的值 Add(object) 会有装箱 拆箱 数据会混乱 类型不安全 remove(值) removeAt(索引) clear()
Hashtable:同上 键值对存放数据 没有索引 list[key] remove(key) foreach 
List<T>:和ArrayList相似 不同是:类型安全 不需装箱 拆箱
Dictionary<KeyT, ValueT>:类似Hashtable 类型安全 不需装箱 拆箱 其他一样


9、构造函数的特点?(至少5个)ZD
1、构造函数名必须和类名相同
2、构造函数没有返回值类型
3、系统默认提供无参构造
4、如果手动添加构造函数、系统将不同无参构造
5、一个类中可以有多个构造 形成构造重载
6、一般构造函数访问级别是public的


10、方法重载的规则?及跟返回值是否有关?跟访问修饰符有关吗?
在同一个类中 方法名相同 参数个数不同
如果个数相同那么类型一定不同
跟 访问级别 反返回值类型 参数名 方法体都没有关系
跟传递的方式有关(ref/out)















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值