最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

.NET框架试题集

来源:动视网 责编:小OO 时间:2025-09-24 17:18:06
文档

.NET框架试题集

一、填空1、.NET框架包括两个部分,分别是(框架类库FCL)和(公共语言运行时CLR)。2、.NET语言编译器产生的代码叫(中间代码)。3、实时(JIT)编译器负责将方法的(中间代码)编译为本机代码。4、.NET源代码执行前要经过两次编译,分别是(语言编译器将源代码编译成中间代码)和(JIT编译器将中间代码编译成机器代码)。5、CLR默认的所有类型最终都继承自(System.Object)。6、编译器直接支持的任何数据类型都称为(基元类型)。7、CLR中的所有类型可被分为(值类型)和(引用类
推荐度:
导读一、填空1、.NET框架包括两个部分,分别是(框架类库FCL)和(公共语言运行时CLR)。2、.NET语言编译器产生的代码叫(中间代码)。3、实时(JIT)编译器负责将方法的(中间代码)编译为本机代码。4、.NET源代码执行前要经过两次编译,分别是(语言编译器将源代码编译成中间代码)和(JIT编译器将中间代码编译成机器代码)。5、CLR默认的所有类型最终都继承自(System.Object)。6、编译器直接支持的任何数据类型都称为(基元类型)。7、CLR中的所有类型可被分为(值类型)和(引用类
一、填空

1、.NET框架包括两个部分,分别是(框架类库FCL)和(公共语言运行时CLR)。

2、.NET语言编译器产生的代码叫(中间代码)。

3、实时(JIT)编译器负责将方法的(中间代码)编译为本机代码。

4、.NET源代码执行前要经过两次编译,分别是(语言编译器将源代码编译成中间代码)和(JIT编译器将中间代码编译成机器代码)。

5、CLR默认的所有类型最终都继承自(System.Object)。

6、编译器直接支持的任何数据类型都称为(基元类型)。

7、CLR中的所有类型可被分为(值类型)和(引用类型)两种类型。

8、结构(用struct关键字定义)是(值)类型。

9、数组是(引用)类型。

10、事件成员使用C#关键字(event)定义。

11、在C#中,可以使用(StringBuilder)类型高效地构造和操作字符串。

12、所有枚举类型都直接从(System.Enum)类型派生。

13、所有数组类型都隐式从(Array)类型派生。

14、在C#中,使用关键字(interface)来声明接口。

15、C#中用于声明委托的关键字是(delegate)。

16、在C#中用(+=)操作符和(-=)操作符在委托链表上添加和移除委托实例。

17、(泛型)是CLR提供的一种特殊机制,可以实现算法的通用性。

18、允许同步或异步地读取数据流和文件的命名空间是(System.IO)。

19、流的三种基本操作是(读)、(写)和(查找)。

20、在C#中要标记一个类型是可序列化的,可以使用(Serializable)特性。

21、特性(attribute)的参数可以是(定位参数)或(命名参数)。

22、列举ADO.net中的五个主要对象(Connection)、(Command)、(DataReader)、(DataAdapter)、(DataSet)。

二、

判断

1、.NET中,程序集是最小的重用、安全性及版本控制单元。(对)

2、命令csc /out:App.exe App.cs和命令csc App.cs是等效的。(对)

3、从属于一个命名空间的各个类型可以在不同的程序集中实现。(对)

4、在一个程序集中也可能包括不同的命名空间。(对)

5、CLR允许我们将对象转换为其原来的类型或者它的任何一个基类型。( 对  )

6、用关键字class声明的类型不一定是引用类型。(错)

7、C#中常数用const声明,总是静态的。(对)

8、类的实例在访问从其基类继承的任何字段之前,必须调用基类的构造函数。(对)

9、C#允许我们为一个值类型定义没有任何参数的构造函数。(错)

10、CLR支持含参属性(property),在C#中称它们是索引器。(对)

11、CLR默认所有的方法的参数按值传递。(对)

12、只有方法的最后一个参数才可以标记关键字params。(对)

13、当值类型必须转换为引用类型时,就发生装箱。(对)

14、在.NET框架中,字符采用16位Unicode编码。(对)

15、在C#中,可以采用new操作符在一个直接量字符串基础上创建String对象。(错)

16、枚举是值类型。(对)

17、枚举类型中不能定义方法、属性和事件。(对)

18、我们可以在一个枚举类型上应用System.FlagsAttribute特性,使之可以标识位标记。(对)

19、在.NET中,可以创建下届非0的数组。(对)

20、CLR支持多类继承和多接口继承。(错)

21、一个接口可以继承自其他接口。(对)

22、当一个类型继承某个接口时,它不仅要实现该接口定义的所有方法,还要实现该接口从其他接口中继承而来的所有方法。(对)

23、只能通过接口类型的变量调用显式接口方法。(对)

24、定义和使用泛型时,需要为类型指定一个类型参数。(对)

25、在C#中,int?和int是同一个类型。(错)

26、Lambda表达式提供了一种机制,可以用更简单的方式来写匿名方法。(对)

27、扩展方法可以向不能有子类的密封类和结构添加新功能。(对)

28、扩展方法只能定义在静态类中,第一个参数必须用this限定符。(对)

29、异常类对象均为System.Exception类的对象。(对)

30、通过var关键字声明的隐式类型变量是弱类型数据。(错)。

四、简答题

1、简述值类型和引用类型的区别。

 值类型引用类型
内存分配地点分配在栈中分配在堆中
效率效率高,不需要地址转换效率低,需要进行地址转换
内存回收使用完后,立即回收使用完后,不是立即回收,等待GC回收

赋值操作进行复制,创建一个同值新对象只是对原有对象的引用
函数参数与返回值是对象的复制是原有对象的引用,并不产生新的对象
类型扩展不易扩展容易扩展,方便与类型扩展
2、如何理解委托?

委托类似于 C++ 函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不需要与委托签名精确匹配。C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。C#3.0版引入了Lambda表达式,以简化委托的使用。

3、abstract class和interface有什么区别?

(1)声明方法的存在而不去实现它的类被叫做抽象类(abstract class),接口(interface)是抽象类的变体。

(2)抽象类可以有实现(包括构造函数),而接口不可以有任何实现。

(3)抽象类中还以有成员变量(包含静态成员变量)、属性、常量和静态方法,并且他们可以是非公共的;而接口中不能有成员变量、常量、静态方法,只能有公共的属性。

(4)抽象类可以从另一个类或者一个/多个接口派生;而接口不能从另一个类派生却可以实现另一个或多个接口。

(5)一个.net类只能从一个基类中派生即使这个基类是抽象类;然而一个.net类可以实现多个接口。(但是如果从一个抽象类派生或者从一个/多个接口实现,则必须实现抽象类或接口中所有的方法)

4、采用类还是结构,说说你的理由。

(1) 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些。

(2) 结构表示如点、矩形和颜色这样的轻量对象。 例如,如果声明一个含有 1000 个Point对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

(3) 在表现抽象和多级别的对象层次时,类是最好的选择。

(4) 大多数情况下该类型只是一些数据时,结构时最佳的选择。

5、简述什么是装箱和拆箱?

从值类型接口转换到引用类型:装箱。从引用类型转换到值类型:拆箱。装箱和拆箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到 Object 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。拆箱将从对象中提取值类型。

6、简述反射和序列化

反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。

序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。

7、简述程序集和命名空间

一个命名空间和一个程序集并不一定是相关的。具体说来,从属于一个命名空间的各个类型可能在不同的程序集中实现。例如,system.IO.FileStream类型是在MSCorlib.dll 程序集中实现的,而System.IO.FileSystemWatcher类型是在System.dll 程序集中实现的。事实上, .net framework 甚至根本没有发布一个System.IO.dll程序集。

      在一个程序集中,也可能包含不同命名空间中的类型。例如,System.Int32和System.Text.StringBuilder类型都在MSCorLib.dll程序集中。

      在.net framework SDK文档中查找一个类型时,文档会明确的指出类型所属的命名空间,以及实现了该类型的程序集。

文档

.NET框架试题集

一、填空1、.NET框架包括两个部分,分别是(框架类库FCL)和(公共语言运行时CLR)。2、.NET语言编译器产生的代码叫(中间代码)。3、实时(JIT)编译器负责将方法的(中间代码)编译为本机代码。4、.NET源代码执行前要经过两次编译,分别是(语言编译器将源代码编译成中间代码)和(JIT编译器将中间代码编译成机器代码)。5、CLR默认的所有类型最终都继承自(System.Object)。6、编译器直接支持的任何数据类型都称为(基元类型)。7、CLR中的所有类型可被分为(值类型)和(引用类
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top