C#从入门到精通(第7版)
上QQ阅读APP看书,第一时间看更新

1.1 C#概述

C#是一种面向对象的编程语言,主要用于开发可以运行在.NET平台上的应用程序。C#的语言体系都构建在.NET框架上,近几年C#呈现上升趋势,这也说明了C#语言的简单、现代、面向对象和类型安全等特点正在被更多人所认同,在TIOBE编程语言排行榜上,C#语言也常年排行前列。本节将详细介绍C#语言的特点以及C#与.NET的关系。

1.1.1 C#语言及其特点

C#由微软公司开发设计,是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言,能够与.NET框架完美结合。C#具有以下突出的特点。

 语法简洁。C#不允许直接操作内存,去掉了指针操作。

 彻底的面向对象设计。C#具有面向对象语言所应有的一切特性(封装、继承和多态)。

 与Web紧密结合。C#支持绝大多数的Web标准,例如HTML、XML、SOAP等。

 强大的安全性机制。可消除软件开发中常见的错误(如语法错误),.NET提供的垃圾回收器能够帮助开发者有效地管理内存资源。

 兼容性。C#遵循.NET的公共语言规范(common language specification,CLS),能够与其他语言开发的组件兼容。

 灵活的版本处理技术。C#语言内置了版本控制功能,开发、维护起来更加容易。

 完善的错误、异常处理机制,使程序在交付应用时更加健壮。

1.1.2 认识.NET

.NET是一个免费的开源平台,可以生成不同类型的应用,如使用多种语言、编辑器和库来构建Web应用、移动应用、桌面应用、游戏和IoT应用等。这些使用.NET生成的应用既可以是跨平台的,也可以是针对特定操作系统和设备的。

.NET最初指的是.NET Framework,它是.NET的原始实现方式,支持在Windows系统上运行网站、桌面应用等。在.NET Framework 4.8之后,微软公司将后续的版本更新统一命名为了.NET。现在,.NET最新的版本是6.0,它实际上集成了.NET Framework和.NET Core,统一了它们的规范。

本书中所讲的应用主要基于.NET Framework,它包含两个组件:公共语言运行时(common language runtime,CLR)和类库。

 公共语言运行时:公共语言运行时负责管理和执行由.NET编译器编译产生的中间语言代码(.NET程序执行原理如图1.1所示)。由于公共语言运行库的存在,解决了很多传统编译语言的一些致命缺点,如垃圾内存回收、安全性检查等。

图1.1 .NET程序执行原理

 类库:类库比较好理解,就好比一个大仓库里装满了工具。类库里有很多现成的类,可以拿来直接使用。例如,文件操作时,可以直接使用类库里的IO类。

1.1.3 C#与.NET框架

.NET框架是微软公司推出的一个全新的编程平台,目前的版本是.NET 6.0。C#是专门为与微软公司的.NET Framework一起使用而设计的(.NET Framework是一个功能非常丰富的平台,可开发、部署和执行分布式应用程序)。C#就其本身而言只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分。

1.1.4 C#的应用领域

在当前主流开发语言中,C/C++一般用于底层和桌面程序开发,Java等一般用于Web开发,只有C#几乎可用于所有领域,可在嵌入式、便携式计算机、电视、手机以及其他大量设备上运行。可以说,C#的用途数不胜数,它拥有无可比拟的能力。C#的主要应用领域如下。

 游戏开发。

 桌面应用系统开发。

 智能手机程序开发。

 多媒体系统开发。

 网络系统开发。

 操作系统平台开发。

 Web应用开发。

 WebAPI。

 云原生应用。

 物联网。

 机器学习。

C#无处不在,它可应用于任何地方、任何领域,世界各地的客户(在许多不同的行业中)都依赖C#+.NET来解决他们遇到的业务难题,如图1.2和图1.3所示。

图1.2 使用C#+.NET的客户1

图1.3 使用C#+.NET的客户2