2.1.1 C#简介:
C#是一种高级程序设计语言,由Microsoft公司发布在微软职业程序开发者论坛(PDC)上的,它是面向对象的、运行于.NET Framework之上的。C#是微软公司研究员安德斯·海尔斯伯格的作品。C#看起来与Java有着很多的相同点;它包括了单一寄存、接口、与Java几乎同样的语法和编译成中间代码然后运行的过程。但是C#与Java有着很大的区别在于,它借鉴了德尔菲法的一个特点,与组件对象模型是直接集成的,而且它主导了微软公司 .NET windows网络框架。
C#是面向对象的编程语言。它使得程序员可以高效率地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来使得计算与通讯领域的最大化开发使用。C#是一种安全,稳定,简洁,大方,从C和面向对象编程语言C ++的。他继承了C和C ++,功能强大,同时不摆脱他们的一些复杂性(例如,宏和不允许多重继承)。C#结合VB简单的可视化和C++的高效率,凭借其强大的作战能力,简洁优雅的规则,风格,创新的功能和用户友好的语言面向组件的编程就变成了选择NET开发的最佳语言之一。
C#使得C++程序员可以快速地开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此继承C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
2.1.2C#设计的特点:
A.简洁
1. "::"或"->"操作符是无意义的.
2.不允许直接内存操作等不安全的做法.
3. 不再使用指针.
4.它是.NET平台的语言,其继承了垃圾回收和自动内存管理的特点.
5. 整形数值0和1不再作为布尔值出现.布尔值是纯粹的true和false值而且没有更多的"="操作符和"=="操作符错误."=="被用于进行比较操作而"="被用做赋值操作.
6. 原始数据类型可变的数据范畴
B. 面向对象的
1. C#支持数据封装, 多态, 继承和对象界面.
2. (int,float,double)在java中都不是对象,但是C#引入和结构体(structs)来使原始数据类型变成对象int i=1;String a=i Tostring();//转换(或者)Boxing
C. 现代
1. C#拥有内建的支持来将任意的组件转换成一个web service,运行在任何平台上的任何应用程序都可以通过互联网来使用这个功能
2.. 兼容性,灵活性,全面性
D.相互兼容性
1.C#提供对COM和基于windows的应用程序的原始的支持.
2.允许对原始指针的有限制的使用.
3.不再需要显式的实现unkown和其它COM界面,这些功能已经内建.
4.C#允许用户将指针作为不安全的代码段来操作旧代码.
5.VB.NET和其它中间代码语言中的组件可以在C#中直接使用.
E.灵活的伸缩性和可升级性
1..NET引入了零部件的概念,它们具有自描述的功能.手册确立了零部件的身份,版本,语言和数字签名等.零部件不需要在任何地方注册.
2.要扩展我们的程序,我们只需要删除老的文件并用新的文件来升级它们.不需要注册动态链接库.
3.升级软件组件的过程只是一个错误测试的功能.对代码的修改能够影响当下的程序,C#在语言中支持版本修改.对界面和方法重载的支持使得复杂的程序框架能随着时间变化.
F.类型安全
1.像将double转换成boolean这种危险的类型转换不能实现.
2.值类型(常量类型)被初始化为零值而引用类型的对象和类被编译器自动初始化为零值.
3.数组类型下标从零开始而且进行越界检测.