搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
C#程序设计语言
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111282617
  • 作      者:
    (美)Anders Hejlsberg[等]著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2010
收藏
作者简介
  Anders Hejlsberg 是编程界的传奇人物。他是C#语言的架构师,同时也是微软技术专家。他在1996年加入微软,之前13年的职业生涯则是在Borland度过,他曾经是Delphi和Turbo Pascal的首席架构师。
展开
内容介绍
  C#语言结合了快速应用开发语言的高效和C/C++语言的强大。现在C# 3.0又加入了函数式编程技术和语言集成查询(LINQ,Language INtegrated Query)。《C#程序设计语言 (原书第3版)》正是C# 3.0的权威技术指南。<br>  这一版由C#的缔造者Anders Hejlsberg和他的同事们合著,全部内容都更新到了C# 3.0版。《C#程序设计语言 (原书第3版)》提供了C# 3.0语言完整的规格说明、参考资料、范例代码和来自九位卓越的C#大师的详细注解。<br>  这些注解所达到的深度和广度是很难在其他书中找到的。《C#程序设计语言 (原书第3版)》的正文介绍了C#的概念,而这些恰到好处的注解则解释了为什么这些特性是重要的,应该怎么使用它们,它们和其他语言的关系是什么,甚至它们是如何进化而来的。<br>  对任何希望深入理解C#的程序员来说,这本书都是不容错过的参考经典。
展开
精彩书评
  “据我的经验,我敢说每个程序员在读这本书的时候都至少会有一次‘啊,原来如此’的感叹,它能让你的编程水平更上一层楼。”    —— 选自Don Box的序
展开
精彩书摘
  5.3.2 未赋初值的变量<br>  下列的变量类别都被归类为还未赋初值的:<br>  ·结构变量里还未赋初值的实例变量。<br>  ·输出参数,包括结构实例构造函数里的this变量。<br>  ·局部变量,除了那些在catch子旬或for each语句里声明的以外。<br>  5.3.3 确定明确赋值的精确规则<br>  编译器必须采用一套和在这一节里的描述等价的流程来确定每个使用的变量都是明确赋值的。<br>  编译器会处理每一个拥有一到多个还未赋初值变量的函数成员的主体。对于每一个还未赋初值的变量v,编译器会在函数成员里以下的每一个地方确认v的明确赋值状态:<br>  ·在每个语句的开始。<br>  ·在每个语句的终点(8.1节)。<br>  ·在每个arc上控制转移到另一个语句或者到语句的终点。<br>  ·在每个表达式的开始。<br>  ·在每个表达式的终点。<br>  v的明确赋值状态可以是:<br>  ·明确赋值。这表示在通向这一点的所有可能的控制流上,v都已经被赋值。<br>  ·未明确赋值。对于在bool类型的表达式结尾的变量状态,还未明确赋值的变量状态可以<br>  (但不一定)属于以下的子状态之一:<br>  在true表达式之后明确赋值。这个状态表示:如果布尔表达式的求值结果为true,那么v就是明确赋值的;但要是它的求值结果为false,那么就不一定会被赋值。<br>  在false表达式之后明确赋值。这个状态表示:如果布尔表达式的求值结果为false,那么v就是明确赋值的;但要是它的求值结果为true,那么就不一定会被赋值。<br>  下面的规则控制了变量v的状态是如何在每一个位置上被决定的。<br>  5.3.3.1 语句的一般规则<br>  ·v在函数成员主体的开始是还未明确赋值的。<br>  ·v在任何不可及的语句开始都是明确赋值的。<br>  ……
展开
目录
序<br>作者简介<br>注解者简介<br>前言<br>第1章 介绍<br>1.1 Hello,World<br>1.2 程序结构<br>1.3 类型和变量<br>1.4 表达式<br>1.5 语句<br>1.6 类和对象<br>1.6.1 成员<br>1.6.2 访问控制<br>1.6.3 类型参数<br>1.6.4 基类<br>1.6.5 字段<br>1.6.6 方法<br>1.6.7 其他函数成员<br>1.7 结构<br>1.8 数组<br>1.9 接口<br>1.10 枚举<br>1.11 委托<br>1.12 特性<br>第2章 词法结构<br>2.1 程序<br>2.2 文法<br>2.2.1 文法表示法<br>2.2.2 词法文法<br>2.2.3 语法文法<br>2.3 词法分析<br>2.3.1 行终结符<br>2.3.2 注释<br>2.3.3 空白符<br>2.4 标记<br>2.4.1 Unicode字符转义序列<br>2.4.2 标识符<br>2.4.3 关键字<br>2.4.4 字量<br>2.4.5 操作符和标点符号<br>2.5 预处理指令<br>2.5.1 条件编译符号<br>2.5.2 预处理表达式<br>2.5.3 声明指令<br>2.5.4 条件编译指令<br>2.5.5 诊断指令<br>2.5.6 区域指令<br>2.5.7 行指令<br>2.5.8 编译指示指令<br>第3章 基本概念<br>3.1 应用程序起始<br>3.2 应用程序终止<br>3.3 声明<br>3.4 成员<br>3.4.1 命名空间成员<br>3.4.2 结构成员<br>3.4.3 枚举成员<br>3.4.4 类成员<br>3.4.5 接口成员<br>3.4.6 数组成员<br>3.4.7 委托成员<br>3.5 成员访问<br>3.5.1 声明可访问性<br>3.5.2 可访问域<br>3.5.3 实例成员的保护访问<br>3.5.4 访问限制<br>3.6 签名和重载<br>3.7 作用域<br>3.7.1 名字隐藏<br>3.8 命名空间和类型名称<br>3.8.1 完全限定名<br>3.9 自动化内存管理<br>3.10 执行顺序<br>第4章 类型<br>4.1 值类型<br>4.1.1 System.ValueType类型<br>4.1.2 默认构造函数<br>4.1.3 结构类型<br>4.1.4 简单类型<br>4.1.5 整数类型<br>4.1.6 浮点数类型<br>4.1 7decimal类型<br>4.1.8 bool类型<br>4.1.9 枚举类型<br>4.1.1 0可空值类型<br>4.2 引用类型<br>4.2.1 类类型<br>4.2.2 Object类型<br>4.2.3 String类型<br>4.2.4 接口类型<br>4.2.5 数组类型<br>4.2.6 委托类型<br>4.3 装箱和拆箱<br>4.3.1 装箱转换<br>4.3.2 拆箱转换<br>4.4 构造类型<br>4.4.1 类型实参<br>4.4.2 开放式和封闭式类型<br>4.4.3 绑定和未绑定类型<br>4.4.4 满足限制<br>4.5 类型参数<br>4.6 表达式树类型<br>第5章 变量<br>5.1 变量类别<br>5.1.1 静态变量<br>5.1.2 实例变量<br>5.1.3 数组元素<br>5.1.4 值参数<br>5.1.5 引用参数<br>5.1.6 输出参数<br>5.1.7 局部变量<br>5.2 默认值<br>5.3 明确赋值<br>5.3.1 初始赋值的变量<br>5.3.2 未赋初值的变量<br>5.3.3 确定明确赋值的精确规则<br>5.4 变量引用<br>5.5 变量引用的原子性<br>第6章 转换<br>6.1 隐式转换<br>6.1.1 标识转换<br>6.1.2 隐式数字转换<br>6.1.3 隐式枚举转换<br>6.1.4 隐式可空值转换<br>6.1.5 Null字量转换<br>6.1.6 隐式引用转换<br>6.1.7 装箱转换<br>6.1.8 隐式常量表达式转换<br>6.1.9 带类型参数的隐式转换<br>6.1.10 自定义隐式转换<br>6.1.11 匿名函数转换和方法组转换<br>6.2 显式转换<br>6.2.1 显式数字转换<br>6.2.2 显式枚举转换<br>6.2.3 显式可空值转换<br>6.2.4 显式引用转换<br>6.2.5 拆箱转换<br>6.2.6 带类型参数的显式转换<br>6.2.7 自定义显式转换<br>6.3 标准转换<br>6.3.1 标准隐式转换<br>6.3.2 标准显式转换<br>6.4 自定义转换<br>6.4.1 允许的自定义转换<br>6.4.2 提升转换操作符<br>6.4.3 自定义转换的计算<br>6.4.4 自定义隐式转换<br>6.4.5 自定义显式转换<br>6.5 匿名函数转换<br>6.5.1 匿名函数到委托类型转换的计算<br>6.5.2 匿名函数到表达式树类型转换的<br>计算<br>6.5.3 实现举例<br>6.6 方法组转换<br>第7章 表达式<br>7.1 表达式分类<br>7.1.1 表达式的值<br>7.2 操作符<br>7.2.1 操作符优先级和结合性<br>7.2.2 操作符重载<br>7.2.3 一元操作符重载决策<br>7.2.4 二元操作符重载决策<br>7.2.5 候选自定义操作符<br>7.2.6 数字提升<br>7.2.7 提升操作符<br>7.3 成员查找<br>7.3.1 基础类型<br>7.4 函数成员<br>7.4.1 参数列表<br>7.4.2 类型推导<br>7.4.3 重载决策<br>7.4.4 函数成员调用<br>7.5 基础表达式<br>7.5.1 字量<br>7.5.2 简单名字<br>7.5.3 括号表达式<br>7.5.4 成员访问<br>7.5.5 调用表达式<br>7.5.6 元素访问<br>7.5.7 this访问<br>7.5.8 base访问<br>7.5.9 后缀递增和递减操作符<br>7.5.1 0new操作符<br>7.5.1 1typeof操作符<br>7.5.1 2checked和unchecked操作符<br>7.5.1 3默认值表达式<br>7.5.1 4匿名方法表达式<br>7.6 一元操作符<br>7.6.1 一元加号操作符<br>7.6.2 一元减号操作符<br>7.6.3 逻辑否操作符<br>7.6.4 按位求补操作符<br>7.6.5 前缀递增和递减操作符<br>7.6.6 转换表达式<br>7.7 算术操作符<br>7.7.1 乘法操作符<br>7.7.2 除法操作符<br>7.7.3 求余操作符<br>7.7.4 加法操作符<br>7.7.5 减法操作符<br>7.8 移位操作符<br>7.9 关系和类型测试操作符<br>7.9.1 整数比较操作符<br>7.9.2 浮点数比较操作符<br>7.9.3 小数比较操作符<br>7.9.4 布尔值相等操作符<br>7.9.5 枚举比较操作符<br>7.9.6 引用类型相等操作符<br>7.9.7 字符串相等操作符<br>7.9.8 委托相等操作符<br>7.9.9 相等操作符和null<br>7.9.10 is操作符<br>7.9.11 as操作符<br>7.10 逻辑操作符<br>7.10.1 整数逻辑操作符<br>7.10.2 枚举逻辑操作符<br>7.10.3 布尔值逻辑操作符<br>7.10.4 可空值布尔逻辑操作符<br>7.11 条件逻辑操作符<br>7.11.1 布尔条件逻辑操作符<br>7.11.2 自定义条件逻辑操作符<br>7.12 Null拼接操作符<br>7.13 条件操作符<br>7.14 匿名函数表达式<br>7.14.1 匿名函数签名<br>7.14.2 匿名函数主体<br>7.14.3 重载决策<br>7.14.4 外部变量<br>7.14.5 匿名函数表达式的计算<br>7.15 查询表达式<br>7.15.1 查询表达式里的歧义<br>7.15.2 查询表达式翻译<br>7.15.3 查询表达式模式<br>7.16 值操作符<br>7.16.1 简单赋值<br>7.16.2 组合赋值<br>7.16.3 事件赋值<br>7.17 达式<br>7.18 量表达式<br>7.19 尔表达式<br>第8章 语句<br>8.1 终点和可及性<br>8.2 块<br>8.2.1 语句列表<br>8.3 空语句<br>8.4 标签语句<br>8.5 声明语句<br>8.5.1 局部变量声明<br>8.5.2 局部常量声明<br>8.6 表达式语句<br>8.7 选择语句<br>8.7.1 if语句<br>8.7.2 switch语句<br>8.8 迭代语句<br>8.8.1 while语句<br>8.8.2 do语句<br>8.8.3 for语句<br>8.8.4 for each语句<br>8.9 跳转语句<br>8.9.1 break语句<br>8.9.2 continue语句<br>8.9.3 go to语句<br>8.9.4 return语句<br>8.9.5 throw语句<br>8.10 try语句<br>8.11 checked和unchecked语句<br>8.12 lock语句<br>8.13 using语句<br>8.14 yield语句<br>第9章 命名空间<br>9.1 编译单元<br>9.2 命名空间声明<br>9.3 Extern别名<br>9.4 using指令<br>9.4.1 using别名指令<br>9.4.2 using命名空间指令<br>9.5 命名空间成员<br>9.6 类型声明<br>9.7 命名空间别名限定符<br>9.7.1 别名的唯一性<br>第10章 类<br>10.1 类声明<br>10.1.1 类修饰符<br>10.1.2 partial修饰符<br>10.1.3 类型形参<br>10.1.4 类基础规范<br>10.1.5 类型形参限制<br>10.1.6 类主体<br>10.2 局部类型<br>10.2.1 特性<br>10.2.2 修饰符<br>10.2.3 类型形参和限制<br>10.2.4 基类<br>10.2.5 基础接口<br>10.2.6 成员<br>10.2.7 局部方法<br>10.2.8 名字绑定<br>10.3 类成员<br>10.3.1 实例类型<br>10.3.2 构造类型的成员<br>10.3.3 继承<br>10.3.4 new修饰符<br>10.3.5 访问修饰符<br>10.3.6 组成类型<br>10.3.7 静态成员和实例成员<br>10.3.8 嵌套类型<br>10.3.9 保留成员名<br>10.4 常量<br>10.5 字段<br>10.5.1 静态字段和实例字段<br>10.5.2 只读字段<br>10.5.3 易失字段<br>10.5.4 字段初始化<br>10.5.5 字段初始化语句<br>10.6 方法<br>10.6.1 方法形参<br>10.6.2 静态和实例方法<br>10.6.3 虚拟方法<br>10.6.4 覆写方法<br>10.6.5 密封方法<br>10.6.6 抽象方法<br>10.6.7 外部方法<br>10.6.8 局部方法<br>10.6.9 扩展方法<br>10.6.10 方法主体<br>10.6.11 方法重载<br>10.7 属性<br>10.7.1 静态属性和实例属性<br>10.7.2 访问器<br>10.7.3 自动实现的属性<br>10.7.4 可访问性<br>10.7.5 虚拟.密封.覆写和抽象访问器<br>10.8 事件<br>10.8.1 类似字段的事件<br>10.8.2 事件访问器<br>10.8.3 静态事件和实例事件<br>10.8.4 虚拟.密封.覆写和抽象访问器<br>10.9 索引<br>10.9.1 索引重载<br>10.10 操作符<br>10.10.1 一元操作符<br>10.10.2 二元操作符<br>10.10.3 转换操作符<br>10.11 实例构造函数<br>10.11.1 构造函数初始化语句<br>10.11.2 实例字段初始化语句<br>10.11.3 构造函数的执行<br>10.11.4 默认构造函数<br>10.11.5 私有构造函数<br>10.11.6 可选的实例构造函数参数<br>10.12 静态构造函数<br>10.13 析构函数<br>10.14 迭代器<br>10.14.1 计数接口<br>10.14.2 枚举接口<br>10.14.3 Yield类型<br>10.14.4 计数对象<br>10.14.5 枚举对象<br>10.14.6 实现举例<br>第11章 结构<br>11.1 结构声明<br>11.1.1 结构修饰符<br>11.1.2 partial修饰符<br>11.1.3 结构接口<br>11.1.4 结构主体<br>11.2 结构成员<br>11.3 类和结构的区别<br>11.3.1 值语义<br>11.3.2 继承<br>11.3.3 赋值<br>11.3.4 默认值<br>11.3.5 装箱和拆箱<br>11.3.6 this的含义<br>11.3.7 字段初始化语句<br>11.3.8 构造函数<br>11.3.9 析构函数<br>11.3.1 0静态构造函数<br>11.4 结构举例<br>11.4.1 数据库整数类型<br>11.4.2 数据库布尔类型<br>第12章 数组<br>12.1 数组类型<br>12.1.1 System. Array类型<br>12.1.2 数组和泛型I List接口<br>12.2 数组创建<br>12.3 数组元素访问<br>12.4 数组成员<br>12.5 数组协变<br>12.6 数组初始化语句<br>第13章 接口<br>13.1 接口声明<br>13.1.1 接口修饰符<br>13.1.2 partial修饰符<br>13.1.3 基础接口<br>13.1.4 接口主体<br>13.2 接口成员<br>13.2.1 接口方法<br>13.2.2 接口属性<br>13.2.3 接口事件<br>13.2.4 接口索引<br>13.2.5 接口成员访问<br>13.3 完全限定接口成员名<br>13.4 接口实现<br>13.4.1 显式接口成员实现<br>13.4.2 实现接口的唯一性<br>13.4.3 泛型方法的实现<br>13.4.4 接口映射<br>13.4.5 接口实现继承<br>13.4.6 重新实现接口<br>13.4.7 抽象类和接口<br>第14章 枚举<br>14.1 枚举声明<br>14.2 枚举修饰符<br>14.3 枚举成员<br>14.4 System. Enum类型<br>14.5 枚举值和操作<br>第15章 委托<br>15.1 委托声明<br>15.2 委托兼容性<br>15.3 委托实例化<br>15.4 委托调用<br>第16章 异常<br>16.1 异常产生的原因<br>16.2 System. Exception类<br>16.3 异常是如何处理的<br>16.4 常见的异常类<br>第17章 特性<br>17.1 特性类<br>17.1.1 特性的用法<br>17.1.2 位置和已命名参数<br>17.1.3 特性形参类型<br>17.2 特性规范<br>17.3 特性实例<br>17.3.1 特性的编译<br>17.3.2 在运行时获取一个特性实例<br>17.4 保留特性<br>17.4.1 Attribute Usage特性<br>17.4.2 Conditional特性<br>17.4.3 Obsolete特性<br>17.5 用于互操作的特性<br>17.5.1 和COM以及Win32组件互操作<br>17.5.2 和其他.NET语言互操作<br>第18章 不安全的代码<br>18.1 不安全的上下文<br>18.2 指针类型<br>18.3 固定变量和可移动变量<br>18.4 指针转换<br>18.4.1 指针数组<br>18.5 表达式里的指针<br>18.5.1 指针间接寻址<br>18.5.2 指针成员访问<br>18.5.3 指针元素访问<br>18.5.4 取地址操作符<br>18.5.5 指针递增和递减<br>18.5.6 指针算术<br>18.5.7 指针比较<br>18.5.8 size of操作符<br>18.6 fixed语句<br>18.7 定长缓冲区<br>18.7.1 定长缓冲区声明<br>18.7.2 表达式里的定长缓冲区<br>18.7.3 明确赋值检查<br>18.8 栈分配<br>18.9 动态内存分配<br>附录A 文档注释<br>附录B 文法<br>附录C 参考资料
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证