2024年4月17日发(作者:)

C# 语言和 .NET Framework 介绍

C#

是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在

.NET

可靠的应用程序。使用

C#

,您可以创建传统的

Windows

Framework

上运行的各种安全、

户端应用程序、

XML Web services

、分布式组件、客户端

-

服务器应用程序、数据库应用程

序以及很多其他类型的程序。

Microsoft Visual C# 2005

提供高级代码编辑器、方便的用户

界面设计器、集成调试器和许多其他工具,以在

C#

语言版本

2.0

.NET Framework

基础上加快应用程序的开发。

注意

Visual C# 文档假设您了解基本的编程概念。如果您是初学者,可能需要学习一下 Visual

C# 速成版,它可以从网站下载。您也可以利用任何关于 C# 的优秀书籍和 Web 资源来

学习实用编程技巧。

C#

语言

C#

语法表现力强,只有不到

90

个关键字,而且简单易学。

C#

的大括号语法使任何熟悉

C

C++

Java

的人都可以立即上手。了解上述任何一种语言的开发人员通常在很短的时间内

就可以开始使用

C#

高效地工作。

C#

语法简化了

C++

的诸多复杂性,同时提供了很多强大

的功能,例如可为空的值类型、枚举、委托、匿名方法和直接内存访问,这些都是

Java

所不

具备的。

C#

还支持泛型方法和类型,从而提供了更出色的类型安全和性能。

C#

还提供了迭

代器,允许集合类的实现者定义自定义的迭代行为,简化了客户端代码对它的使用。

作为一种面向对象的语言,继承和多态性概念。所有的变量和方法,包括

Main

C#

支持封装、

法(应用程序的入口点),都封装在类定义中。类可能直接从一个父类继承,但它可以实现任意

数量的接口。重写父类中的虚方法的各种方法要求

override

关键字作为一种避免意外重定义

的方式。在

C#

中,结构类似于一个轻量类;它是一种堆栈分配的类型,可以实现接口,但不

支持继承。

除了这些基本的面向对象的原理,

C#

还通过几种创新的语言结构加快了软件组件的开发,其中

包括:

封装的方法签名(称为委托),它实现了类型安全的事件通知。

属性

(Property)

,充当私有成员变量的访问器。

属性

(Attribute)

,提供关于运行时类型的声明性元数据。

内联

XML

文档注释。

C#

中,如果需要与其他

Windows

软件(如

COM

对象或本机

Win32 DLL

)交互,可

以通过一个称为

“Interop”

的过程来实现。互操作使

C#

程序能够完成本机

C++

应用程序可

以完成的几乎任何任务。在直接内存访问必不可少的情况下,

C#

甚至支持指针和

不安全

代码

的概念。

C#

的生成过程比

C

C++

简单,比

Java

更为灵活。没有单独的头文件,也不要求按照

特定顺序声明方法和类型。

C#

源文件可以定义任意数量的类、结构、接口和事件。

下列各项是其他

C#

资源:

有关该语言的充分常规介绍,请参阅

C#

语言规范的第

1

章。

有关

C#

语言特定方面的详细信息,请参阅

C#

参考。

有关

C#

语法与

Java

C++

语法的比较,请参阅

C#

编程语言(针对

Java

发人员)和

C#

(针对

C++

开发人员)。

.NET Framework

平台体系结构

C#

程序在

.NET Framework

上运行,它是

Windows

的一个必要组件,包括一个称为公共

语言运行时

(CLR)

的虚拟执行系统和一组统一的类库。

CLR

Microsoft

的公共语言基础结

(CLI)

的一个商业实现。

CLI

是一种国际标准,是用于创建语言和库在其中无缝协同工作的

执行和开发环境的基础。

C#

编写的源代码被编译为一种符合

CLI

规范的中间语言

(IL)

IL

代码与资源(如位图

和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为

.exe

.dll

。程序集包含清单,它提供关于程序集的类型、版本、区域性和安全要求等信息。

执行

C#

程序时,程序集将加载到

CLR

中,这可能会根据清单中的信息执行不同的操作。然

后,如果符合安全要求,

CLR

执行实时

(JIT)

编译以将

IL

代码转换为本机机器指令。

CLR

提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由

CLR

执行的代码有时称为

管代码

,它与编译为面向特定系统的本机机器语言的

非托管代码

相对应。下图演示了

C#

代码文件、基类库、程序集和

CLR

的编译时与运行时的关系。

语言互操作性是

.NET Framework

的一个关键功能。因为由

C#

编译器生成的

IL

代码符合

公共类型规范

(CTS)

,因此从

C#

生成的

IL

代码可以与从

Visual Basic

Visual C++

Visual J#

.NET

版本或者其他

20

多种符合

CTS

的语言中的任何一种生成的代码进行

交互。单一程序集可能包含用不同

.NET

语言编写的多个模块,并且类型可以相互引用,就像

它们是用同一种语言编写的。

除了运行时服务,

.NET Framework

还包含一个由

4000

多个类组成的内容详尽的库,这些

类被组织为命名空间,为从文件输入和输出到字符串操作、到

XML

分析、到

Windows

窗体

控件的所有内容提供多种有用的功能。典型的

C#

应用程序使用

.NET Framework

类库广泛

地处理常见的

日常

任务。

有关

.NET Framework

平台的更多信息,请参见

.NET Framework

概述。

/zh-cn/library/67ef8sbd(VS.80).aspx

C# 编程指南

语言部分

C#

程序内部

Main()

和命令行参数(

C#

编程指南)

数据类型(

C#

编程指南)

数组(

C#

编程指南)

字符串(

C#

编程指南)

语句、表达式和运算符(

C#

编程指南)

对象、类和结构(

C#

编程指南)

属性(

C#

编程指南)

索引器(

C#

编程指南)

委托(

C#

编程指南)

事件(

C#

编程指南)

泛型(

C#

编程指南)

迭代器(

C#

编程指南)

命名空间(

C#

编程指南)

可空类型(

C#

编程指南)

不安全代码和指针(

C#

编程指南)

XML

文档注释(

C#

编程指南)

平台部分

应用程序域(

C#

编程指南)

程序集和全局程序集缓存(

C#

编程指南)

属性(

C#

编程指南)

集合类(

C#

编程指南)

异常和异常处理(

C#

编程指南)

互操作性(

C#

编程指南)

线程处理(

C#

编程指南)

性能(

C#

编程指南)

反射(

C#

编程指南)

C# DLL

C#

编程指南)

安全性(

C#

编程指南)