C#语言的特点-西安软件开发培训|西安计算机培训|西安电脑培训|西安.NET培训
C#在带来对应用程序的快速开发能力的同时 并没有牺牲C 与C++程序员所关心的各种特性 它忠实地继承了C 和C++的优点 如果你对C 或C++有所了解 你会发现它是那样的熟悉 即使你是一位新手 C#也不会给你带来任何其它的麻烦 快速应用程序开发 Rapid Application Development RAD 的思想与简洁的语法将会使你迅
速成为一名熟练的开发人员。(西安.NET培训中心主要从事.NET方向的开发和培训业务,现在招收想在.NET方向发展的优秀的应往届毕业生8名,网站:http://www.xapeixun.cn)
正如前文所述 C#是专门为.NET 应用而开发出的语言 这从根本上保证了 C#与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在C#中表现
得淋漓尽致 让我们先来看看C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到# SHARP的真正含义
简洁的语法
请原谅 虽然我们一再强调学习本书不需要任何的编程基础 但在这里还不得不 提到C++ 在缺省的情况下 C#的代码在.NET 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯狂使用的操作符 例如-> 和 ., 已经不再出现 C#只支持一个.对于我们来说 现在需要理解的一切仅仅是名字嵌套而已 C#用真正的关键字换掉了那些把活动模板库 Active Template Library ALT 和
COM 搞得乱糟糟的伪关键字, 如 OLE_COLOR BOOL VARIANT_BOOL
DISPID_XXXXX 等等 每种C#类型在.NET 类库中都有了新名字
语法中的冗余是 C++中的常见的问题 比如 const”和 #define各种各样的字 符类型等等 C#对此进行了简化 只保留了常见的形式 而别的冗余形式从它的语法
结构中被清除了出去
精心地面向对象设计
也许你会说 从Smalltalk 开始 面向对象的话题就始终缠绕着任何一种现代程序设计语言 的确 C#具有面向对象的语言所应有的一切特性 封装 继承与多态 这并不出奇 然而 通过精心地面向对象设计 从高级商业对象到系统级应用 C#是建造广泛组件的绝对选择 在 C# 的类型系统中 每种类型都可以看作一个对象 C#提供了一个叫做装箱
boxing 与拆箱 unboxing 的机制来完成这种操作 而不给使用者带来麻烦 这在以后的章节中将进行更为详细的介绍C#只允许单继承 即一个类不会有多个基类 从而避免了类型定义的混乱 在后 面的学习中你很快会发现 C#中没有了全局函数 没有了全局变量 也没有了全局常 数 一切的一切 都必须封装在一个类之中 你的代码将具有更好的可读性 并且减 少了发生命名冲突的可能
整个C#的类模型是建立在.NET 虚拟对象系统 Visual Object System VOS 的基础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面
将会谈到 这样做的另一个好处是兼容性
借助于从VB 中得来的丰富的RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言软件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点
与Web 的紧密结合
.NET 中新的应用程序开发模型意味着越来越多的解决方案需要与Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和XML 由于历史
的原因 现存的一些开发工具不能与Web 紧密地结合 SOAP 的使用使得C#克服了这 一缺陷 大规模深层次的分布式开发从此成为可能
由于有了Web 服务框架的帮助 对程序员来说 网络服务看起来就像是C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发Web 服务仅需要使用简单的C#语言结构 C#组件将能够方便地为Web 服务 并允许它们通过Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将XML 数据映射成为结构 这样就可以有效地处理各种数据。
完全的安全性与错误处理
语言的安全性与错误处理能力 是衡量一种语言是否优秀的重要依据 任何人都 会犯错误 即使是最熟练的程序员也不例外 忘记变量的初始化 对不属于自己管理 范围的内存空间进行修改 这些错误常常产生难以预见的后果 一旦这样的软 件被投入使用 寻找与改正这些简单错误的代价将会是让人无法承受的 C#的先进设 计思想可以消除软件开发中的许多常见错误 并提供了包括类型安全在内的完整的安 全性能 为了减少开发中的错误 C#会帮助开发者通过更少的代码完成相同的功能 这不但减轻了编程人员的工作量 同时更有效地避免了错误发生
.NET 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的ID来配置安全等级 在缺省情况下 从Internet 和Intranet 下载的代码都不允许访问任何本地
文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Collection GC 将负责资源的释放与对象撤销时的 内存清理工作
变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能
版本处理技术
C#提供内置的版本支持来减少开发费用 使用C#将会使开发人员更加轻易地开发 和维护各种商业应用
升级软件系统中的组件 模块 是一件容易产生错误的工作 在代码修改过程中 可能对现存的软件产生影响 很有可能导致程序的崩溃 为了帮助开发人员处理这些 问题 C#在语言中内置了版本控制功能 例如 函数重载必须被显式地声明 而不会 像在C++或Java 中经常发生的那样不经意地被进行 这可以防止代码级错误和保留版 本化的特性 另一个相关的特性是接口和接口继承的支持 这些特性可以保证复杂的 软件可以被方便地开发和升级
灵活性和兼容性
在简化语法的同时 C#并没有失去灵活性 尽管它不是一种无限制的语言 比如 它不能用来开发硬件驱动程序 在默认的状态下没有指针等等 但是 在学习过程中 你将发现 它仍然是那样的灵巧
如果需要 C#允许你将某些类或者类的某些方法声明为非安全的 这样一来 你 将能够使用指针 结构和静态数组 并且调用这些非安全的代码不会带来任何其它的 问题 此外 它还提供了一个另外的东西 这样的称呼多少有些不敬 来模拟指针的 功能 delegates 代表 再举一个例子 C#不支持类的多继承 但是通过对接口的 继承 你将获得这一功能
下面谈谈兼容性
正是由于其灵活性 C#允许与C 风格的需要传递指针型参数的API 进行交互操作 DLL 的任何入口点都可以在程序中进行访问 C#遵守.NET公用语言规范 Common Language Specification CLS 从而保证了C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全。
电话:029-88789460
QQ:1350366700 643430980
网站:http://www.xapeixun.cn
地 址: 西安市高新区高新路25号希格玛大厦1801室 C#语言的特点-西安软件开发培训|西安计算机培训|西安电脑培训|西安.NET培训
C#在带来对应用程序的快速开发能力的同时 并没有牺牲C 与C++程序员所关心的各种特性 它忠实地继承了C 和C++的优点 如果你对C 或C++有所了解 你会发现它是那样的熟悉 即使你是一位新手 C#也不会给你带来任何其它的麻烦 快速应用程序开发 Rapid Application Development RAD 的思想与简洁的语法将会使你迅
速成为一名熟练的开发人员。(西安.NET培训中心主要从事.NET方向的开发和培训业务,现在招收想在.NET方向发展的优秀的应往届毕业生8名,网站:http://www.xapeixun.cn)
正如前文所述 C#是专门为.NET 应用而开发出的语言 这从根本上保证了 C#与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在C#中表现
得淋漓尽致 让我们先来看看C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到# SHARP的真正含义
简洁的语法
请原谅 虽然我们一再强调学习本书不需要任何的编程基础 但在这里还不得不 提到C++ 在缺省的情况下 C#的代码在.NET 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯狂使用的操作符 例如-> 和 ., 已经不再出现 C#只支持一个.对于我们来说 现在需要理解的一切仅仅是名字嵌套而已 C#用真正的关键字换掉了那些把活动模板库 Active Template Library ALT 和
COM 搞得乱糟糟的伪关键字, 如 OLE_COLOR BOOL VARIANT_BOOL
DISPID_XXXXX 等等 每种C#类型在.NET 类库中都有了新名字
语法中的冗余是 C++中的常见的问题 比如 const”和 #define各种各样的字 符类型等等 C#对此进行了简化 只保留了常见的形式 而别的冗余形式从它的语法
结构中被清除了出去
精心地面向对象设计
也许你会说 从Smalltalk 开始 面向对象的话题就始终缠绕着任何一种现代程序设计语言 的确 C#具有面向对象的语言所应有的一切特性 封装 继承与多态 这并不出奇 然而 通过精心地面向对象设计 从高级商业对象到系统级应用 C#是建造广泛组件的绝对选择 在 C# 的类型系统中 每种类型都可以看作一个对象 C#提供了一个叫做装箱
boxing 与拆箱 unboxing 的机制来完成这种操作 而不给使用者带来麻烦 这在以后的章节中将进行更为详细的介绍C#只允许单继承 即一个类不会有多个基类 从而避免了类型定义的混乱 在后 面的学习中你很快会发现 C#中没有了全局函数 没有了全局变量 也没有了全局常 数 一切的一切 都必须封装在一个类之中 你的代码将具有更好的可读性 并且减 少了发生命名冲突的可能
整个C#的类模型是建立在.NET 虚拟对象系统 Visual Object System VOS 的基础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面
将会谈到 这样做的另一个好处是兼容性
借助于从VB 中得来的丰富的RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言软件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点
与Web 的紧密结合
.NET 中新的应用程序开发模型意味着越来越多的解决方案需要与Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和XML 由于历史
的原因 现存的一些开发工具不能与Web 紧密地结合 SOAP 的使用使得C#克服了这 一缺陷 大规模深层次的分布式开发从此成为可能
由于有了Web 服务框架的帮助 对程序员来说 网络服务看起来就像是C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发Web 服务仅需要使用简单的C#语言结构 C#组件将能够方便地为Web 服务 并允许它们通过Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将XML 数据映射成为结构 这样就可以有效地处理各种数据。
完全的安全性与错误处理
语言的安全性与错误处理能力 是衡量一种语言是否优秀的重要依据 任何人都 会犯错误 即使是最熟练的程序员也不例外 忘记变量的初始化 对不属于自己管理 范围的内存空间进行修改 这些错误常常产生难以预见的后果 一旦这样的软 件被投入使用 寻找与改正这些简单错误的代价将会是让人无法承受的 C#的先进设 计思想可以消除软件开发中的许多常见错误 并提供了包括类型安全在内的完整的安 全性能 为了减少开发中的错误 C#会帮助开发者通过更少的代码完成相同的功能 这不但减轻了编程人员的工作量 同时更有效地避免了错误发生
.NET 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的ID来配置安全等级 在缺省情况下 从Internet 和Intranet 下载的代码都不允许访问任何本地
文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Collection GC 将负责资源的释放与对象撤销时的 内存清理工作
变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能
版本处理技术
C#提供内置的版本支持来减少开发费用 使用C#将会使开发人员更加轻易地开发 和维护各种商业应用
升级软件系统中的组件 模块 是一件容易产生错误的工作 在代码修改过程中 可能对现存的软件产生影响 很有可能导致程序的崩溃 为了帮助开发人员处理这些 问题 C#在语言中内置了版本控制功能 例如 函数重载必须被显式地声明 而不会 像在C++或Java 中经常发生的那样不经意地被进行 这可以防止代码级错误和保留版 本化的特性 另一个相关的特性是接口和接口继承的支持 这些特性可以保证复杂的 软件可以被方便地开发和升级
灵活性和兼容性
在简化语法的同时 C#并没有失去灵活性 尽管它不是一种无限制的语言 比如 它不能用来开发硬件驱动程序 在默认的状态下没有指针等等 但是 在学习过程中 你将发现 它仍然是那样的灵巧
如果需要 C#允许你将某些类或者类的某些方法声明为非安全的 这样一来 你 将能够使用指针 结构和静态数组 并且调用这些非安全的代码不会带来任何其它的 问题 此外 它还提供了一个另外的东西 这样的称呼多少有些不敬 来模拟指针的 功能 delegates 代表 再举一个例子 C#不支持类的多继承 但是通过对接口的 继承 你将获得这一功能
下面谈谈兼容性
正是由于其灵活性 C#允许与C 风格的需要传递指针型参数的API 进行交互操作 DLL 的任何入口点都可以在程序中进行访问 C#遵守.NET公用语言规范 Common Language Specification CLS 从而保证了C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全。
电话:029-88789460
QQ:1350366700 643430980
网站:http://www.xapeixun.cn
地 址: 西安市高新区高新路25号希格玛大厦1801室
更多其他招生简章,请关注其他招生简章