C# 语言是微软推出的一款面向对象的编程语言,凭借其通用的语法和便捷的使用方法受到了很多企业和开发人员的青睐。C# 语言具备了面向对象语言的特征,即封装、继承、多态,并且添加了事件和委托,增强了编程的灵活性。C# (英文名为 CSharp) 是微软开发的一种面向对象的编程语言,其语法与 C++ 类似,但在编程过程中要比 C++ 简单。提到 C# 不得不介绍其创始人 Anders,他可谓是编程语言的奇才。他在开发 C# 语言之前曾开发了大家熟知的 Delphi 语言。微软在研发 C# 语言之初是高薪聘请了这位奇才来主持开发的。C# 语言是一种安全的、稳定的、简单的、面向对象的编程语言, 它不仅去掉了 C++ 和 Java 语言中的一些复杂特性,还提供了可视化工具,能够高效地编写程序。
C# 语言具备如下 4 个特点:
1) 简单、安全
在 C++ 和 C 语言中程序员最头疼的问题就是指针问题,在 C# 语言中已经不再使用指针,而且不允许直接读取内存等不安全的操作。它比 C、C++、Java 提供了更多的数据类型,并且每个数据类型都是固定大小的。此外还提供了命名空间来管理 C# 文件,命名空间 相当于一个文件夹,在创建程序时,允许在一个命名空间中创建一个或多个类,方便调用和重用。
2) 面向对象
与其他面向对象语言一样,C# 语言也具有面向对象语言的基本特征,即封装、继承、 多态。
- 封装:就是将代码看作一个整体,例如使用类、方法、接口等。在使用定义好的类、 方法、接口等对象时不必考虑其细节,只需要知道其对象名以及所需要的参数即可,也是一种提升代码安全性的方法。
- 继承:是一种体现代码重用性的特性,减少代码的冗余,但在 C# 语言中仅支持单继承。
- 多态:不仅体现了代码的重用性,也体现了代码的灵活性,它主要通过继承和实现接口的方式,让类或接口中的成员表现出不同的作用。
3) 支持跨平台
最早的 C# 语言仅能在 Windows 平台上开发并使用,目前最新的 C# 6.0 版本已经能在多个操作系统上使用,例如在 Mac、Linux 等。此外,还能将其应用到手机、PDA 等设备上。
4) 开发多种类型的程序
使用 C# 语言不仅能开发在控制台下运行的应用程序,也能开发 Windows 窗体应用程序、网站、手机应用等多种应用程序,并且其提供的 Visual Studio 2015 开发工具中也支持多种类型的程序,让开发人员能快速地构建 C# 应用程序。
C# 与 .NET 的关系
.NET 是一个开发平台,而 C# 是一种在 .NET 开发平台上使用的编程语言,目前能在 .NET 平台上使用的开发语言很多,例如 Visual Basic .NET、Python、J#、Visual C++.NET 等。但在 .NET 平台上使用最多的是 C# 语言。.NET 框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET 框架的目的是便于开发人员容易地建立 Web 应用程序和 Web 服务,使得 Internet 上的各应用程序之间可以使用 Web 服务进行沟通。
.NET Framework 是一个可以快速开发、部署网站服务及应用程序的开回发平台,是 Windows 中的一个组件,包括公共语言运行时(Common Language Runtime, CLR)虚拟执行系统和 .NET Framework 类库。.NET Framework 的特点如下。
- 提供标准的面向对象开发环境。用户不仅可以在本地与对象交互,视频讲解还可以通过 Web Service 和 .NET Remoting 技术进行远程交互。
- 提供优化的代码执行环境,具有良好的版本兼容性,并允许在同一台计算机上安装不同版本的 .NET Framework。
- 使用 JIT(Just In Time)技术,提高代码的运行速度。
.NET Framework 的体系结构如下图所示。
下面从上而下详细介绍 .NET Framework 体系结构中各部分的具体内容。
1) 编程语言
在 .NET Framework 框架中支持的编程语言包括 C#、VB、C++、J# 等, 但目前使用最多的是 C# 语言。正是由于在 .NETFramework 中支持多种编程语言,因此 .NET Framework 也配备了对应的编译器。
2) CLS
CLS(Common Language Specification, 公共语言运行规范)定义了一组规则,即可以通过不同的编程语言(C#、VB、J# 等)来创建 Windows 应用程序、ASP.NET 网站程序以及在 .NET Framework 中所有支持的程序。
3) .NET Framework 类库(Framework Class Library, FCL)
在 FCL 中包括 Windows Forms (Windows 窗体程序)、ASP.NET(网站程序)、WPF(Windows 的界面程序的框架)、 WCF(Windows 平台上的工作流程序)等程序所用到的类库文件。
4) CLR
CLR 是 .NET Framework 的基础。用户可以将 CLR 看作一个在执行时管理代码的代码,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格类型安全以及可提高安全性和可靠性的管理。它与 Java 虚拟机类似。以公共语言运行库为目标的代码称为托管代码,不以公共语言运行库为目标的代码称为非托管代码。
5) OS
操作系统(Operating System, OS)在目前的 .NET Framework 中仅支持在 Windows 上使用,在后续的版本中将支持在 Linux 和 Mac 操作系统上使用。