• C# 语言规范


    C# 语言规范的 1.2 和 2.0 版是关于 C# 语法的权威资料。
    它们包含该语言各个方面的详细信息,包括 Visual C# 产品文档未涉及的许多语法点。

    1.2 规范讨论了在 Visual C# 2005 推出之前为该语言添加的功能,
    而 2.0 规范则讨论了针对 Visual C# 2005 添加的功能。

    可以从以下位置获得 Microsoft Word 格式的 C# 语言规范:

    在 MSDN Online 上的位置是:
    http://msdn.microsoft.com/vcsharp/programming/language/default.aspx

    在 Visual Studio 中的位置是:
    Microsoft Visual Studio 2005 安装目录下的 VC#\Specifications\2052\ 目录中。

    有兴趣的话 可以阅读一下这个权威的参考资料
    其中C#2.0版的目录如下:
    ----------------------
    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.2.1 方法组转换 8
    19.3 迭代器 8
    19.4 分部类型 11
    19.5 可空类型 12
    20. 泛型 15
    20.1 泛型类声明 15
    20.1.1 类型形参 15
    20.1.2 实例类型 16
    20.1.3 基规范 17
    20.1.4 泛型类的成员 17
    20.1.5 泛型类中的静态字段 18
    20.1.6 泛型类中的静态构造函数 18
    20.1.7 访问受保护成员 19
    20.1.8 泛型类中的重载 19
    20.1.9 形参数组方法和类型形参 20
    20.1.10 重写和泛型类 20
    20.1.11 泛型类中的运算符 21
    20.1.12 泛型类中的嵌套类型 22
    20.1.13 应用程序入口点 23
    20.2 泛型结构声明 23
    20.3 泛型接口声明 23
    20.3.1 所实现接口的唯一性 23
    20.3.2 显式接口成员实现 24
    20.4 泛型委托声明 25
    20.5 构造类型 25
    20.5.1 类型实参 26
    20.5.2 开放和封闭类型 26
    20.5.3 构造类型的基类和接口 27
    20.5.4 构造类型的成员 27
    20.5.5 构造类型的可访问性 28
    20.5.6 转换 28
    20.5.7 using 别名指令 29
    20.5.8 属性 29
    20.5.9 数组和泛型 IList 接口 29
    20.6 泛型方法 30
    20.6.1 泛型方法签名 31
    20.6.2 虚泛型方法 31
    20.6.3 调用泛型方法 33
    20.6.4 类型实参推断 33
    20.6.5 语法多义性 35
    20.6.6 通过委托使用泛型方法 35
    20.6.7 不能是泛型的成员 36
    20.7 约束 36
    20.7.1 满足约束 40
    20.7.2 类型形参上的成员查找 41
    20.7.3 类型形参和装箱 41
    20.7.4 涉及类型形参的转换 42
    20.8 表达式和语句 44
    20.8.1 对象创建表达式 44
    20.8.2 typeof 运算符 44
    20.8.3 引用相等运算符 45
    20.8.4 is 运算符 46
    20.8.5 as 运算符 46
    20.8.6 异常语句 46
    20.8.7 lock 语句 46
    20.8.8 using 语句 46
    20.8.9 foreach 语句 46
    20.9 查找规则的修改 47
    20.9.1 命名空间和类型名称 47
    20.9.2 成员查找 49
    20.9.3 适用函数成员 50
    20.9.4 更好的函数成员 50
    20.9.5 简单名称 51
    20.9.6 成员访问 52
    20.9.7 方法调用 54
    20.10 右移语法变化 55
    21. 匿名方法 57
    21.1 匿名方法表达式 57
    21.2 匿名方法签名 57
    21.3 匿名方法转换 57
    21.4 匿名方法块 59
    21.5 外层变量 59
    21.5.1 捕获的外层变量 59
    21.5.2 局部变量实例化 60
    21.6 匿名方法计算 62
    21.7 委托实例相等性 63
    21.8 明确赋值 63
    21.9 方法组转换 64
    21.10 委托创建表达式 65
    21.11 实现示例 65
    22. 迭代器 69
    22.1 迭代器块 69
    22.1.1 枚举器接口 69
    22.1.2 可枚举接口 69
    22.1.3 产生类型 69
    22.1.4 this 访问 70
    22.2 枚举器对象 70
    22.2.1 MoveNext 方法 70
    22.2.2 Current 属性 71
    22.2.3 Dispose 方法 71
    22.3 可枚举对象 72
    22.3.1 GetEnumerator 方法 72
    22.4 yield 语句 72
    22.4.1 明确赋值 74
    22.5 实现示例 74
    23. 分部类型 81
    23.1 分部声明 81
    23.1.1 属性 81
    23.1.2 修饰符 82
    23.1.3 类型参数和约束 82
    23.1.4 基类 82
    23.1.5 基接口 83
    23.1.6 成员 83
    23.2 名称绑定 84
    24. 可空类型 85
    24.1 可空类型 85
    24.1.1 成员 85
    24.1.2 默认值 86
    24.1.3 值类型约束 86
    24.2 转换 86
    24.2.1 null 文本转换 86
    24.2.2 可空转换 86
    24.2.3 装箱和取消装箱转换 87
    24.2.4 允许的用户定义转换 87
    24.2.5 用户定义转换的计算 88
    24.2.6 提升的转换 88
    24.2.7 用户定义的隐式转换 88
    24.2.8 用户定义的显式转换 89
    24.3 表达式 90
    24.3.1 提升运算符 90
    24.3.2 允许的用户定义运算符 91
    24.3.3 运算符重载解析 91
    24.3.4 相等操作符和空 91
    24.3.5 is 运算符 91
    24.3.6 as 运算符 92
    24.3.7 复合赋值 92
    24.3.8 bool? 类型 92
    24.3.9 空合并运算符 93
    25. 其他功能 95
    25.1 属性访问器的可访问性 95
    25.1.1 访问器声明 95
    25.1.2 访问器的使用 96
    25.1.3 重写和接口实现 97
    25.2 静态类 97
    25.2.1 静态类声明 97
    25.2.2 引用静态类类型 98
    25.3 命名空间别名限定符 98
    25.3.1 限定的别名成员 100
    25.3.2 别名的唯一性 101
    25.4 Extern 别名 102
    25.4.1 Extern 别名指令 103
    25.5 Pragma 指令 104
    25.5.1 Pragma warning 105
    25.6 默认值表达式 105
    25.7 条件属性类 106
    25.8 固定大小缓冲区 107
    25.8.1 固定大小缓冲区的声明 107
    25.8.2 表达式中的固定大小缓冲区 108
    25.8.3 Fixed 语句 109
    25.8.4 明确赋值检查 109

  • 相关阅读:
    对于近期学习上的复习与整理
    ACM的奇计淫巧_输入挂
    hdu2602 DP (01背包)
    hdu 1723 DP/递推
    hdu1428 记忆化搜索(BFS预处理最短路径和+DP+DFS)
    hdu1355
    hdu1331&&hdu1579记忆化搜索(DP+DFS)
    hdu1257 dp(最长上升子序列)
    hdu1208 dp
    hdu 1203 dp(关于概率的```背包?)
  • 原文地址:https://www.cnblogs.com/freeliver54/p/635029.html
Copyright © 2020-2023  润新知