C#简介
- 格式:doc
- 大小:44.50 KB
- 文档页数:3
C#简介
C#是微软公司为平台量身定做的一种语言。
使用C#开发的应用程序是基于应用程序之上,具有良好的安全性和跨平台性。
利用Visual 的所见即所得的功能,可以使整个开发过程更为简洁、明快。
1.什么是C#
C#是.NET平台上最重要的语言之一。
C#语言源于C和C++,是微软专门为.NET 设计的语言。
C#和.NET Framework同时出现和发展。
由于C#出现较晚,吸取了许多其他语言的优点,解决了许多问题。
简单地看来,C#仅仅是.NET开发的一种语言,但事实上C#是.NET开发中最好的一门语言,这是由C#自身的设计决定的。
作为专门为.NET设计的语言,C#不但结合了C++强大灵活和Java语言简洁的特性,还吸取了Delphi和visual Basic所具有的易用性。
因而C#是一种使用简单、功能强大、表达力丰富的全新语言。
C#是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在.NET Framework上运行的各种安全、可靠的应用程序。
使用C#,你可以创建传统的Windows客户端应用程序、XML Web services、分布式组件、客户端-服务器应用程序、数据库应用程序以及很多其他类型的程序。
Microsoft Visual C# 2005 提供高级代码编辑器、方便的用户界面设计器、集成调试器和许多其他工具,以在C#语言版本2.0和.NET Framework 的基础上加快应用程序的开发。
C#语法表现力强,只有不到90个关键字,而且简单易学。
C#的大括号语法使任何熟悉C、C++或Java的人都可以立即上手。
了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使用C#高效地工作。
C#语法简化了C++的诸多复杂性,同时提供了很多强大的功能,例如可为空的值类型、枚举、委托、匿名方法和直接内存访问,这些都是Java所不具备的。
C#还支持泛型方法和类型,从而提供了更出色的类型安全和性能。
C#还提供了迭代器,允许集合类的实现者定义自定义的迭代行为,简化了客户端代码对它的使用。
作为一种面向对象的语言,C#支持封装、继承和多态性概念。
所有的变量和方法,包括Main方法(应用程序的入口点),都封装在类定义中。
类可以直接从一个父类继承,但它可以实现任意数量的接口。
重写父类中的虚方法的各种方法要求override关键字作为一种避免意外重定义的方式。
在C#中,结构类似于一个轻量类;它是一种堆栈分配的类型,可以实现接口,但不支持继承。
除了这些基本的面向对象的原理,C#还通过几种创新的语言结构加快了软件组件的开发,其中包括:
●封装的方法签名(称为委托),它实现了类型安全的事件通知。
●属性(Property),充当私有成员变量的访问器。
●属性(Attribute),提供关于运行时类型的声明性元数据。
●内联XML文档注释。
在C#中,如果需要与其他Windows软件(如COM对象或本机Win32DLL)交互,可以通过一个称为“Interop”的过程来实现。
互操作使C#程序能够完成本机C++应用程序可以完成的几乎任何任务。
在直接内存访问必不可少的情况下,C#甚至支持指针和“不安全”代码的概念。
C#的生成过程比C和C++简单,比Java更为灵活。
没有单独的头文件,也不要求按照特定顺序声明方法和类型。
C#源文件可以定义任意数量的类、结构、接口和事件。
2.C#语言的特点
C#是由C、C++语言发展而来的,它在继承C、C++语言强大功能的同时抛弃了它们的一些复杂特性,使C#变得相对简单。
C#中没有宏,没有模板,不允许多重继承,不再强调使用指针,几乎抛弃了所有令读者头疼的特性。
C#在语法、思维方面也与Java有着很大的相似性。
总体来讲,C#具有以下优点:
●简洁的语法
在默认的情况下,C#的代码在Microsoft .NET框架提供的“可操纵”环境下运行,不允许直接地进行内存操作。
它所带来的最大特色是没有了指针。
与此相关的是,那些在C++ 中被使用的操作符(如"::"、"→")已经不再出现。
●精心地面向对象设计
C# 语言是完全按照面向对象的思想来设计的,因此它具有面向对象所应有的一切特性:封装、继承和多态性。
C#语言只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。
在C#语言中,每种类型都是一个对象,因此不存在全局函数、全局变量和全局常数等概念,所有常量、变量、属性、方法、索引和事件等都必须封装在类中,从而使代码具有更好的可读性,也减少了发生命名冲突的可能。
在C#的类型系统中,每种类型都可以看作一个对象。
C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。
●与Web紧密结合
中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,如超文本标记语言(HyperText Markup Language,HTML)和XML。
由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就像是C#的本地对象。
程序员能够利用已有的面向对象的知识与技巧开发Web服务。
仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。
●完整的安全性与错误处理
语言的安全性和错误处理能力是衡量一种语言是否优秀的重要依据,C# 语言可以避免很多软件开发中的常见错误,并提供了包括类型安全在内的完整的安全性能。
在默认情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源,C#语言不允许使用未初始化的变量,并提供了边界检查与溢出检查等功能。
内存管理中的垃圾回收机制也大大减轻了开发人员的内存管理负担。
●版本处理技术
C# 语言内置了版本控制功能,如对函数重载和接口的处理方式及特性支持等,从而保证方便地开发和升级复杂的软件。
●灵活性与兼容性
在托管状态下,C#语言不能使用指针,而是用委托(delegate)来模拟指针的功能。
兼容性是指C#语言允许与具有C或C++语言风格的需要传递指针型参数的API进行交互操作,允许C#语言组件与其他语言组件间的交互操作等。