C#语言基础
C#.NET是微软公司推出的一种类型安全、现代、简单、由C和C++衍生出来的面向对象的编程语言。掌握C#.NET的特点、程序结构、集成开发环境、C#语言的基本知识等,是利用好C#的前提。
本章内容
C#概述
C#语言基础
控制结构
数组
异常处理
1.1  C#  概  述
C#是微软公司在2000年7月发布的一种全新的简单、安全、面向对象的程序设计语言。它是专门为.NET的应用而开发的语言。
1.1.1  .NET简介
1..NET定义
.NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。.NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展,使用户在任何地方、任何时间、利用任何设备都能访问所需要的信息、文件和程序。.NET平台包括.NET框架和.NET开发工具等      部分。.NET框架(Framework)是整个开发平台的基础,包括公共语言运行库和.NET类库。.NET开发工具包括Visual Studio.NET集成开发环境和.NET编程语言。.NET编程语言包括Visual Basic、Visual C++和新的Visual C#等用来创建运行在公共语言运行库(Common Language Run,CLR)上的应用程序。.NET框架结构如图1-1所示。
Visual Basic.NET
C#
托管C++
J#
其他语言
公共语言规范(CLS
ASP.NET/Webwriteline函数应用/Web服务
Windows窗体应用
ADO.NETXML
.NET框架基础类库
公共语言运行时
操作系统
图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 窗体)。
ASP.NET应用程序。
XML Web services。
Windows 服务。
例如,Windows窗体类是一组综合性的可重用类型,它们大大简化了Windows GUI的开发。如果要编写ASP.NET Web窗体应用程序,可使用Web窗体类。
1.1.2  什么是C#
1.C#及其特点
C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.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 Studio.NET的集成开发环境
.NET开发语言都采用了统一的集成开发环境Visual Studio.NET。下面加以介绍。
(1)Visual Studio起始页
启动Visual Studio.NET后,首先看到一个如图1-2所示的起始页。在起始页可以打开已有的项目或建立新的项目。
图1-2  Visual Studio起始页
(2)新建Visual C#.NET项目
在Visual Studio.NET集成开发环境中,通过执行“文件”→“新建”→“项目”菜单命令,将会弹出“新建项目”对话框,在该对话框中,可以选择不同的编程语言来创建各种项目,这些语言将共享Visual Studio.NET的集成开发环境,如图1-3所示。
图1-3 “新建项目”对话框
要创建新的Visual C#.NET项目,需要在该对话框的“项目类型”窗口中选中“Visual C#项目”,在“模板”窗口中选中“Windows应用程序”。然后在“位置”组合框中输入项目的保存位置(路径),在“名称”文本框中输入项目名称,如图1-3所示。然后单击“确定”按钮,将会出现如图1-4所示的Visual Studio.NET集成开发环境。
图1-4  Visual Studio.NET开发环境
(3)“解决方案资源管理器”窗口
项目可以视为编译后的一个可执行单元,可以是应用程序、动态链接库等。而企业级的解决方案往往需要多个可执行程序的合作,为便于管理多个项目,在Visual Studio.NET集成环境中引入了解决方案资源管理器,用来对企业级解决方案设计的多个项目进行管理,如图1-5所示。
(4)“类视图”窗口
“类视图”窗口以树形结构显示了当前项目中的所有类,并在类中列出成员变量和成员函数。每一个类首先列出带紫图标的成员函数,然后列出带有蓝图标的成员变量。每个成员的图标左边都有一个标志,以表示成员类型和存储类别的信息,保护类型成员图标旁边的标志为一把钥匙,私有成员的标志是一把锁,而公有成员图标旁边没有标志。如图1-6所示。
                   
        图1-5 “解决方案资源管理器”窗口                 图1-6 “类视图”窗口
在“类视图”窗口中双击类名,会在主工作区中打开这个类的头文件,显示出类的声明;而双击某个类的成员,则主工作区中会显示该成员的定义代码。
(5)“工具箱”窗口
“工具箱”窗口包含了可重用的控件,用于定义应用程序。使用可视化的方法编程时,可在窗体中“拖放”控件,绘制出应用程序界面。“工具箱”中的控件分成几组,如“数据”组、“组件”组、“Windows窗体”组。单击组名称可展开一个组。如图1-7所示。
图1-7 “工具箱”窗口
(6)“属性”窗口
“属性”窗口用于设置控件的属性。属性定义了控件的信息,如大小、位置、颜等。 “属性”窗口左边一栏显示了控件的属性名,右边一栏显示属性的当前值。如图1-8所示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。