c语言基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#.NET是微软公司推出的一种类型安全、现代、简单、由C和C++衍生出来的面向对象的编程语言。掌握C#.NET的特点、程序结构、集成开发环境、C#语言的基本知识等,是利用好C#的前提。
本章内容
⏹C#概述
⏹C#语言基础
⏹控制结构
⏹数组
⏹异常处理
1.1 C# 概述
C#是微软公司在2000年7月发布的一种全新的简单、安全、面向对象的程序设计语言。它是专门为.NET的应用而开发的语言。
简介
1..NET定义
.NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。.NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展,使用户在任何地方、任何时间、利用任何设备都能访问所需要的信息、文件和程序。.NET平台包括.NET框架和.NET开发工具等部分。.NET框架(Framework)是整个开发平台的基础,包括公共语言运行库和.NET类库。.NET开发工具包括Visual 集成开发环境和.NET编程语言。.NET编程语言包括Visual Basic、Visual C++和新的Visual C#等用来创建运行在公共语言运行库(Common Language Run,CLR)上的应用程序。.NET框架结构如图1-1所示。
C#程序设计与案例教程
2
图1-1 .NET框架结构
2.公共语言运行库
公共语言运行库是.NET Framework 的基础。可以将运行库看成一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。这些功能是在公共语言运行库上运行的托管代码所固有的。
3..NET框架类库
.NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合,是对Windows API封装的全新设计,它为开发人员提供了一个统一的、面向对象的、分层的和可扩展的庞大类库。该类库是面向对象的,使.NET Framework 类型易于使用,而且还减少了学习.NET Framework 的新功能所需要的时间。此外,第三方组件可与.NET Framework 中的类无缝集成。
例如,用.NET Framework 集合类实现一组可用于开发您自己的集合类的接口。您的集合类将与.NET Framework 中的类无缝地混合。
.NET Framework 类型使您能够完成一系列常见编程任务(包括字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型。例如,可使用.NET Framework 开发下列类型的应用程序和服务:∙控制台应用程序。
∙Windows GUI应用程序(Windows 窗体)。
∙应用程序。
∙XML Web services。
∙Windows 服务。
例如,Windows窗体类是一组综合性的可重用类型,它们大大简化了Windows GUI 的开发。如果要编写 Web窗体应用程序,可使用Web窗体类。
1.1.2什么是C#
1.C#及其特点
C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语
第1章C#语言基础
3
言,是专门为.NET的应用而开发的语言。它吸收了C++、Visual Basic、Delphi、Java等语
言的优点,体现了当今最新的程序设计技术的功能和精华。C#继承了C语言的语法风格,
同时又继承了C++的面向对象特性。不同的是,C#的对象模型已经面向Internet进行了重
新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便
访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于
多重继承带来的可怕后果。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的
程序设计环境。同时,公共语言运行时(Common Language Runtime)为C#程序语言提供
了一个托管的运行时环境,使程序比以往更加稳定、安全。其特点有:
∙语言简洁。
∙保留了C++的强大功能。
∙快速应用开发功能。
∙语言的自由性。
∙强大的Web服务器控件。
∙支持跨平台。
∙与XML相融合。
2.C#与C++的比较
C#对C++进行了多处改进,主要区别如下:
∙编译目标:C++代码直接编译为本地可执行代码,而C#默认编译为中间语言(IL)代码,执行时再通过Just-In-Time将需要的模块临时编译成本地代码。
∙内存管理:C++需要显式地删除动态分配给堆的内存,而C#不需要这么做,C#采用垃圾回收机制自动在合适的时机回收不再使用的内存。
∙指针:C++中大量地使用指针,而C#使用对类实例的引用,如果确实想在C#中使用指针,必须声明该内容是非安全的。不过,一般情况下C#中没有必要使用指针。
∙字符串处理:在C#中,字符串是作为一种基本数据类型来对待的,因此比C++中对字符串的处理要简单得多。
∙库:C++依赖于以继承和模板为基础的标准库,C#则依赖于.NET基库。
∙C++允许类的多继承,而C#只允许类的单继承,而通过接口实现多继承。
在后面的学习中会发现,C#与C++相比还有很多不同和改进之处,包括一些细节上的
差别,这里就不一一列举了。
3.C#与Java的比较
∙C#面向对象的程度比Java高。
∙C#中的基本类型都是面向对象的。
∙C#具有比Java更强大的功能。
∙C#语言的执行速度比Java快。
1.1.3 Visual 的集成开发环境
.NET开发语言都采用了统一的集成开发环境Visual 。下面加以介绍。