2024年3月12日发(作者:)
附录B 部分习题参考答案
第1章
1.
2.
3.
4.
A
D
D
A C
5. C# 源程序由代码和代码注释组成,代码又可以分为引用部分和主体部分。主体代码都
在命名空间之中,包括各种类型及其成员的定义。
6. 启动MSIL反汇编程序,通过菜单“文件| 打开”定位到系统Windows文件夹的
“”子目录下(后5位表示.NET Framework 2.0的详
细版本号),打开其中的文件,从中可查看System等命名空间下的类型组织,
如图A.1所示:
图A.1 System程序集反汇编
第2章
1.
2.
3.
4.
5.
6.
AC
B
BD
CD
C
B
7. D
8. (1)结构类型和枚举类型都是复合类型。结构类型是多个简单值类型的组合,因而结
构类型的变量就是多项内容的组合而成的一个实体。枚举类型则表示一组逻辑上相关联的内
容,枚举类型的变量在某一时刻只体现其中的一项内容。
(2)值类型的变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一块
区域;只有通过变量才能修改它所包含的数据。而引用类型的变量只存储对目标数据的引用,
每创建一个变量,就增加一个指向目标数据的指针;有可能出现多个引用类型的变量指向同
一份数据的情况,这时修改一个变量就会影响到其它所有的变量。
9. 代码段的输出为:
Hi Frank
Welcome
10. 程序的输出为:
星期Wednesday
月份Apr
季节3
11. 参考源代码如下:
ine("SByte: {0} ~ {1}", ue, ue);
ine("Byte: {0} ~ {1}", ue, ue);
ine("Int16: {0} ~ {1}", ue, ue);
ine("UInt16: {0} ~ {1}", ue, ue);
ine("Int32: {0} ~ {1}", ue, ue);
//……
12. 不可以,因为整数和枚举都是值类型,而数组转换要求数据元素的类型都是引用类型。
13. 可以,但要利用装箱和拆箱技术,看下面的程序:
class Program
{
static void Main()
{
object[][] d = new object[3][];
d[0] = new object[] { 1, 2, 3 };
d[1] = new object[] { 1.5F, 2.5F, 3.0F };
d[2] = new object[] { 1.25, 2.5, 3.14 };
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
ine(d[i][j]);
}
}
14. (略)
第3章
1. AD
2. AB


发布评论