-
1 .NET框架和C#语言简介
-
2 Visual Studi...

![]()
.NET框架简介
说到C#,就不得不先简单介绍一下.NET。按照微软总裁兼首席执行官Steve的说法:“它代表一个集合,一个环境,可以作为平台支持下一代Internet的可编程结构。”
C#是.NET的代表语言。C#语言和.NET的关系就像舰载战斗机与航空母舰的关系。航母是一个能让舰载机充分发挥其优势的作战平台,所以学习C#语言也离不开对.NET的理解。为了方便学习,下面简单地了解一下.NET这个“航母”平台的基础知识。
Microsoft.NET(简称.NET)是微软公司推出的面向网络的一套完整的开发平台,从程序员的角度看,.NET是一组用于生成Web服务器应用程序、Web应用程序、Windows应用程序和移动应用程序的软件组件,用该平台建立的应用程序可以在公共语言运行库的控制下运行。![]()
如图1.1所示,.NET体系结构的核心是.NET框架(.NET Framework),其在操作系统之上为程序员提供了一个编写各种应用程序的高效工具和环境。.NET体系结构的顶层是用各种语言编写的应用程序,这些应用程序由公共语言运行库控制执行。

| 图1.1 .NET体系结构 |
.NET能支持多种应用程序的开发,其中控制台程序是一种传统而简单的程序形式,一般是字符界面,可以编译为独立的可执行文件,通过命令行运行,在字符界面上输入/输出。Windows应用程序是基于Windows Forms(Windows窗体)的应用程序,是一种基于图形用户界面(Graphical User Interface,GUI)的应用程序,一般是在用户计算机本地运行的。本书案例采用的是控制台应用程序或Windows应用程序。
![]()
.NET框架包括两个主要组件,即公共语言运行库和.NET Framework类库。
(1)公共语言运行库
公共语言运行库又称公共语言运行时(Common Language Runtime,CLR)或公共语言运行环境,是.NET框架的底层。其基本功能是管理用.NET框架类库开发的应用程序的运行并且提供各种服务。
.NET将开发语言与运行环境分开,一些基于.NET平台的所有语言的共同特性(如数据类型、异常处理等)都是在CLR层面实现的,在.NET上集成的所有编程语言编写的应用程序均需
通过CLR才能运行,使用CLR的一大好处是支持跨语言编程,凡是符合公共语言规范(Common Language Specification,CLS)的语言所编写的对象都可以在CLR上相互通信,相互调用。例如,用C#语言编写的应用程序,也能够使用Visual Basic.NET编写的类库和组件,反之亦然,这大大提高了开发人员的工作效率。
(2).NET Framework类库
.NET Framework类库是一个面向对象的可重用类型集合,该类型集合可以理解成预先编写好的程序代码库,这些代码包括一组丰富的类与接口,程序员可以用这些现成的类和接口来生成.NET应用程序、控件和组件。例如,Windows窗体类是一组综合性的、可重用的类型,使用这些类型可以轻松、灵活地创建窗体、菜单、工具栏、按钮和其他屏幕元素,从而大大简化Windows应用程序的开发难度。程序员可以直接使用类库中的具体类,或者从这些类中派生出自己的类。.NET框架类库是程序员必须掌握的工具,熟练使用类库是每个程序员的基本功。.NET支持的所有语言都能使用类库,且它们使用类库的方式是一样的。
![]()
.NET框架上可以集成几十种编程语言,这些编程语言共享.NET框架的庞大资源,还可以创建由不同语言混合编写的应用程序,因此可以说.NET是跨语言的集成开发平台。
如图1.2所示,.NET框架上的各种语言分别有各自不同的编译器,编译器向CLR提供原始信息,各种编程语言的编译器负责完成编译工作的第一步,即把源代码转换为用Microsoft中间语言(Microsoft Intermediate Language,MSIL)表示的中间代码。MSIL是一种非常接近机器语言的语言,但还不能直接在计算机上运行。第二步编译工作就是将中间代码转换为可执行的本地机器指令(本地代码),在CLR中执行,这个工作由CLR中包含的即时编译器(Just In Time,JIT)完成。
|
| 图1.2 .NET代码执行流程示例 |
认识C#语言
C#语言是微软公司专门为.NET平台量身打造的程序设计语言,是一种强大的、面向
对象设计方法的程序设计语言,它是为生成运行在.NET框架上的企业级应用程序而设计的。
C#看起来与Java有着惊人的相似,它包括诸如单一继承、接口等特征以及与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java仍然有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET Windows网络框架的主角。

微软对C#的定义如下:C#是一种安全、现代、简单的由C和C++衍生而来的面向对象编程语言。它根植于C和C++语言之上,并可以立即被C和C++的使用者所熟悉。设计C#的目的就是综合Visual Basic的高生产率和C++的行动力,目前,C#已经成为Windows平台上软件开发的绝对主流语言。
作为.NET的核心语言,C#有很多优点,如完全面向对象的设计、强大的类型安全、自动的垃圾回收功能、组件技术、跨平台异常处理、版本处理技术等。大家将在后续的C#学习与使用中深入体会这些优点。











