C#与.NET程序员面试宝典 3.1.2 面试题21:C#支持哪几个预定义的引用类型
2010-11-01 17:14
330 查看
在上一小节中,笔者已经介绍了预定义的值类型。实际面试中,关于预定义的引用类型问题很可能紧接着上一个问题出现。本小节将针对这个问题进行介绍。
【出现频率】★★★★★
【关键考点】
引用类型(reference type)
String类型
Object类型
【考题分析】
引用类型(reference type),指由类型的实际值引用(类似于指针)表示的数据类型。如果分配给某个变量一个引用类型,则该变量将引用(或“指向”)原始值,并且不创建任何副本。引用类型包括类、接口、委托和装箱值类型。
预定义的引用类型相对预定义的值类型少很多,它只有Object类型和String类型。如表3.2所示:
表3.2 C#中的引用类型
注意:CTS通用类型系统(Common Type System) ,定义了可以在中间语言中使用的预定义数据类型。所有面向.NET Framework的语言都可以生产最终基于这些类型的编译代码。CTS的层次结构反应了中间语言单一继承的面向对象的方法。CTS不但定义了基本数据类型,还定义了一个内容丰富的类型层次结构,在这些位置上,代码允许定义自己的类型。
【答案】
C#中预定义的引用类型共2个,分别是Object类型和String类型,这也是C#中使用频率最高的两个类型。
【出现频率】★★★★★
【关键考点】
引用类型(reference type)
String类型
Object类型
【考题分析】
引用类型(reference type),指由类型的实际值引用(类似于指针)表示的数据类型。如果分配给某个变量一个引用类型,则该变量将引用(或“指向”)原始值,并且不创建任何副本。引用类型包括类、接口、委托和装箱值类型。
预定义的引用类型相对预定义的值类型少很多,它只有Object类型和String类型。如表3.2所示:
表3.2 C#中的引用类型
类型 | 名称 | 简要说明 |
根类型 | System.Object | 根类型,CTS中的其他类型都是从它派生而来的(包括值类型) |
字符串型 | System.String | Unicode字符串 |
【答案】
C#中预定义的引用类型共2个,分别是Object类型和String类型,这也是C#中使用频率最高的两个类型。
相关文章推荐
- C#与.NET程序员面试宝典 3.1.1 面试题20:C#支持哪几个预定义的值类型
- C#基础(三)引用类型和预定义值类型
- C# 入门(2) 预定义类型、用户定义类型、值类型和引用类型、可空类型
- C#预定义数据类型之值类型和引用类型介绍
- C# 001 --- 正确的删除一个控件的事件函数 --- 解决错误: “A”不包含“B”的定义,并且找不到可接受类型为“A”的第一个参数的扩展方法“B”(是否缺少 using 指令或程序集引用?)
- C#基础(四)(C#预定义值类型和引用类型)
- C#基础(四)(C#预定义值类型和引用类型)
- [C#基础]5.预定义和引用类型
- CSharp预定义引用类型—C#基础回顾
- C#定义泛型方法错误-类型“T”必须是引用类型才能用作泛型类型或方法“System.Data.Linq.Table<TEntity>”中的参数“TEntity”
- 面试题: c#值类型和引用类型
- C#值类型和引用类型区别
- Spring3.1.2 提供的类型转换支持
- C# is\as与强制转换的区别+值类型与引用类型转换区别
- C#预定义数据类型简介
- 理解C#值类型与引用类型
- C#中值类型和引用类型的区别
- C# - 值类型与引用类型
- c#学习笔记--数组、枚举、结构、值类型和引用类型
- 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?