C
#
规范 2.0 版
2005 年 7 月
版权所有
Microsoft Corporation 1999-20051998
。保留所有权利。
注意
© 2005 Microsoft Corporation.
保留所有权利。
Microsoft
、
Windows
、
Visual Basic
、
Visual C#
和
Visual C++
是
Microsoft Corporation
在美国和
/
或其他国家
/
地区的
注册商标或商标。
本文提及的其他产品和公司名称可能是其各自所有者的商标。
版权所有
Microsoft Corporation 1999-20051998
。保留所有权利。
目录
目录
注意 2
19. C# 2.0 简介 1
19.1 泛型 1
19.1.1 为什么要使用泛型?.........................................................................................................................1
19.1.2 创建和使用泛型................................................................................................................................2
19.1.3 泛型类型实例化................................................................................................................................3
19.1.4 约束....................................................................................................................................................4
19.1.5 泛型方法............................................................................................................................................5
19.2 匿名方法 6
19.1.1 方法组转换........................................................................................................................................8
19.3 迭代器 8
19.4 分部类型 12
19.5 可空类型 13
20. 泛型 17
20.1 泛型类声明17
19.1.2 类型形参..........................................................................................................................................17
19.1.3 实例类型..........................................................................................................................................18
19.1.4 基规范..............................................................................................................................................19
19.1.5 泛型类的成员..................................................................................................................................19
19.1.6 泛型类中的静态字段.......................................................................................................................20
19.1.7 泛型类中的静态构造函数...............................................................................................................21
19.1.8 访问受保护成员...............................................................................................................................21
19.1.9 泛型类中的重载...............................................................................................................................22
19.1.10 形参数组方法和类型形参.............................................................................................................22
19.1.11 重写和泛型类................................................................................................................................23
19.1.12 泛型类中的运算符.........................................................................................................................23
19.1.13 泛型类中的嵌套类型.....................................................................................................................25
19.1.14 应用程序入口点.............................................................................................................................25
20.2 泛型结构声明 25
20.3 泛型接口声明 26
19.1.15 所实现接口的唯一性.....................................................................................................................26
19.1.16 显式接口成员实现.........................................................................................................................27
20.4 泛型委托声明 27
20.5 构造类型 28
19.1.17 类型实参........................................................................................................................................29
19.1.18 开放和封闭类型.............................................................................................................................29
19.1.19 构造类型的基类和接口.................................................................................................................30
19.1.20 构造类型的成员.............................................................................................................................30
19.1.21 构造类型的可访问性.....................................................................................................................31
19.1.22 转换................................................................................................................................................31
19.1.23 using 别名指令...............................................................................................................................32
版权所有
Microsoft Corporation1998 1999-2005
。保留所有权利。
iii
C# 规范 2.0 版
19.1.24 属性................................................................................................................................................32
19.1.25 数组和泛型 IList 接口...................................................................................................................33
20.6 泛型方法 33
19.1.26 泛型方法签名................................................................................................................................34
19.1.27 虚泛型方法....................................................................................................................................35
19.1.28 调用泛型方法................................................................................................................................36
19.1.29 类型实参推断................................................................................................................................37
19.1.30 语法多义性....................................................................................................................................38
19.1.31 通过委托使用泛型方法.................................................................................................................39
19.1.32 不能是泛型的成员.........................................................................................................................39
20.7 约束 39
19.1.33 满足约束........................................................................................................................................43
19.1.34 类型形参上的成员查找.................................................................................................................44
19.1.35 类型形参和装箱.............................................................................................................................45
19.1.36 涉及类型形参的转换.....................................................................................................................46
20.8 表达式和语句 47
19.1.37 对象创建表达式.............................................................................................................................47
19.1.38 typeof 运算符.................................................................................................................................48
19.1.39 引用相等运算符.............................................................................................................................49
19.1.40 is 运算符.........................................................................................................................................49
19.1.41 as 运算符........................................................................................................................................50
19.1.42 异常语句........................................................................................................................................50
19.1.43 lock 语句........................................................................................................................................50
19.1.44 using 语句.......................................................................................................................................50
19.1.45 foreach 语句...................................................................................................................................50
20.9 查找规则的修改 51
19.1.46 命名空间和类型名称.....................................................................................................................51
19.1.47 成员查找........................................................................................................................................53
19.1.48 适用函数成员................................................................................................................................54
19.1.49 更好的函数成员.............................................................................................................................54
19.1.50 简单名称........................................................................................................................................55
19.1.51 成员访问........................................................................................................................................56
19.1.52 方法调用........................................................................................................................................58
20.10 右移语法变化 59
21. 匿名方法 61
21.1 匿名方法表达式 61
21.2 匿名方法签名 61
21.3 匿名方法转换 62
21.4 匿名方法块63
21.5 外层变量 64
19.1.53 捕获的外层变量.............................................................................................................................64
19.1.54 局部变量实例化.............................................................................................................................64
21.6 匿名方法计算 66
21.7 委托实例相等性 68
iv
版权所有
Microsoft Corporation 1999-2005
1998。保留所有权利。
目录
21.8 明确赋值 68
21.9 方法组转换69
21.10 委托创建表达式 70
21.11 实现示例 70
22. 迭代器 75
22.1 迭代器块 75
19.1.55 枚举器接口....................................................................................................................................75
19.1.56 可枚举接口....................................................................................................................................75
19.1.57 产生类型........................................................................................................................................75
19.1.58 this 访问..........................................................................................................................................76
22.2 枚举器对象76
19.1.59 MoveNext 方法..............................................................................................................................76
19.1.60 Current 属性...................................................................................................................................77
19.1.61 Dispose 方法...................................................................................................................................77
22.3 可枚举对象78
19.1.62 GetEnumerator 方法.......................................................................................................................78
22.4 yield 语句 78
19.1.63 明确赋值........................................................................................................................................80
22.5 实现示例 80
23. 分部类型 89
23.1 分部声明 89
19.1.64 属性................................................................................................................................................89
19.1.65 修饰符............................................................................................................................................90
19.1.66 类型参数和约束.............................................................................................................................90
19.1.67 基类................................................................................................................................................91
19.1.68 基接口............................................................................................................................................91
19.1.69 成员................................................................................................................................................91
23.2 名称绑定 93
24. 可空类型 95
24.1 可空类型 95
19.1.70 成员................................................................................................................................................95
19.1.71 默认值............................................................................................................................................96
19.1.72 值类型约束....................................................................................................................................96
24.2 转换 96
19.1.73 null 文本转换.................................................................................................................................96
19.1.74 可空转换........................................................................................................................................96
19.1.75 装箱和取消装箱转换.....................................................................................................................97
19.1.76 允许的用户定义转换.....................................................................................................................97
19.1.77 用户定义转换的计算.....................................................................................................................98
19.1.78 提升的转换....................................................................................................................................98
19.1.79 用户定义的隐式转换.....................................................................................................................98
19.1.80 用户定义的显式转换.....................................................................................................................99
24.3 表达式 100
19.1.81 提升运算符..................................................................................................................................100
版权所有
Microsoft Corporation1998 1999-2005
。保留所有权利。
v
评论1