[编程开发] C#语言基础介绍

[复制链接]
kangsi-111 发表于 2023-12-17 23:45:25|来自:山东青岛 | 显示全部楼层 |阅读模式
首先我们先来了解C#的发展历程,只有知道了C#的概貌和由来,积累了必要的背景知识,才能更好的掌握C#。
       C#是由微软公司开发的一种面向对象并且运行于.NetFramework之上的高级程序设计语言。好多语法和C/C++类似,并且简单易学。使用C#开发应用程序比使用其它语言更加简单,快速。因为C#是基于.NetFramework。.NetFramework为开发应用程序提供了丰富的类库和图形控件,使用这些控件就可以开发出一些简单的应用程序。

1.1 C#发展历程:
       C#语言发布于2000年,经历了这么多年,微软也在不断更新C#的版本,每次升级都会带给我们眼前一亮,具体的升级特性我们会在以后的课程里慢慢接触。

C#能编写哪些应用程序?
1:Windows桌面应用程序;
2:Web应用程序,也就是网站;
3:Web服务;

1.2 什么是.NetFramework



       C#是一门编程语言,它用于实现于计算机的对话,而.NetFramework就是应用程序运行时的执行环境,为应用程序提供以下几种服务。

1:全面的类库
2:内存管理
3:通用类型系统:中间语言使用的预定义数据类型
4:开发结构和技术,如http://ASP.NET技术
5:语言互操作性:面向.NetFramework的语言编译器提供了生成中间语言代码的机制,这种机制使得不同语言之间相互操作成为了可能。

1.3 .NetFramework的组成

       前面简单介绍了一些基础的概念,接下来我们看看究竟NetFramework有哪些部分组成。主要包括两个部分,公共语言运行时(Common LanguageRuntime,CLR)和.Net Framework类库(Framework ClassLibrary,FCL)。

1:公共语言运行时

       它是核心基础,我们可以将CLR看成一个在执行时管理代码的代理,它提供了内存管理、线程管理和异常处理等服务,而且还负责对代码实施严格的类型安全检查,保证了代码的正确性。我们将受CLR管理的代码成为托管代码,不受CLR管理的代码称为非托管代码。其中CLR包含两个部分:通用类型系统(CTS)和公共语言规范(CLS)。比如C#和http://VB.NET都是由CLR进行管理的,但是它们的语法和数据类型各不相同,CLR是如何对这两种不同的语言进行托管的呢?这就得益于CTS。CTS用于解决不同语言之间数据类型不同的问题,如C#中整形是int,而VB中是Integer,通过CTS可以将两者转换为Int32,所有.NET语言都共享这一类型系统,从而使它们之间能够无缝操作。 .NET语言不仅仅存在数据类型的不同,语言规范上也有明显的差距。CLS就是为了解决这个问题产生的。它制定了.NET平台为目标的语言所必需支持的最小特征。遵循该标准的语言在.NET平台下都可以相互调用。

2:.Net Framework类库

       .Net Framework类库就是一组DLL程序集的集合,其中包含了大量定义好的数据类型,这些类型都公开了一些功能。由于FCL中包含了数量很多的类型,所以有必要将相关的一个类型放到一个单独的命名空间中加以区分,如http://System.IO就包含了用于执行IO操作的类型,因此,使用FCL中的某个类的时候,还必须知道该类所在的命名空间。

1.4 C#代码的执行过程

       在VS下,我们只需要按F5就可以编译和执行C#代码了,下面我们具体了解一下代码的执行过程。
(1)C#代码编译为中间语言代码阶段(IL)
(2)中间语言代码解释为本机代码阶段,为了使IL代码能够运行,
必需把它编译为本地代码,即CPU指令。这个过程由CLR的JIT编译器
来完成。
(3)执行本机代码,JIT编译生成本机代码之后,编译好的本机代码
会被放置到一个缓冲区,下次再调用相同的代码时,可以直接运行缓
冲区的现有的本机代码,从而避免重新验证IL代码以及把它编译为本
机代码的过程。使用这种方式,只有JIT发生的时候才有一定的性能
损失。
全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则