C#快速入门之系统介绍(一)

初识C#及其开发环境

§1.1 C# 介绍

C#是由微软公司开发的一种面向对象并且运行于.NetFramework之上的高级程序设计语言。好多语法和C/C++类似,并且简单易学。

使用C#开发应用程序比使用其它语言更加简单,快速。因为C#是基于.NetFramework。.NetFramework为开发应用程序提供了丰富的类库和图形控件,使用这些控件就可以开发出一些简单的应用程序。

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

C#能编写哪些应用程序?

​ 1:Windows桌面应用程序;

​ 2:Web应用程序,也就是网站;

​ 3:服务器开发(Photon框架等);

​ 4:游戏开发Unity3D

§1.2 认识.NET Framework

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

1:全面的类库

2:内存管理

3:通用类型系统:中间语言使用的预定义数据类型

4:开发结构和技术,如ASP.NET技术

5:语言互操作性:面向.NetFramework的语言编译器提供了生成中间语言代码的机制,这种机制使得不同语言之间相互操作成为了可能。

​ C#与.Net之间的对应关系如下表所示,大家不必去记住,需要的时候查阅即可。当.net framework有新特性之后,c#语言就可能会增加一些新的关键字来使用这种新的特性,或者语言有设计不合理的地方,需要更新一下时,c#语言就会作出一些变更,这时候可能就会有一个新的版本号

C#版本.NET版本发布日期特性
C# 1.0.NET Framework 1.02002-02-13委托、事件
C# 1.1.NET Framework 1.12003-04-24APM(异步编程模型)
C# 2.0.NET Framework 2.02005-11-07泛型、匿名方法、迭代器、可空类型
C# 3.0.NET Framework 3.02007-11-06隐式类型
.NET Framework 3.52007-11-19对象集合初始化、自动实现属性、匿名类型、扩展方法、查询表达式、Lambda表达式、 表达式树、分部类和方法、Linq
C# 4.0.NET Framework 4.02010-04-12动态绑定、命名和可选参数、泛型的协变和逆变、互操作性
C# 5.0.NET Framework 4.52012-08-15异步和等待(async和await)、调用方信息(Caller Information)
C# 6.0.NET Framework 4.62015-07-20静态导入、C# 6 中的新增功能
.NET Core 1.02016-06-27
C# 7.0.NET Framework 4.6.22016-08-02元组、C# 7.0 中的新增功能
C# 7.1.NET Framework 4.72017-04-05
.NET Core 2.02016-08-14.NET Core 2.0 的新增功能
C# 7.2.NET Framework 4.7.12017-10-17
C# 7.3.NET Framework 4.7.22018-04-30
.NET Core 2.12018-05-30.NET Core 2.1 的新增功能
.NET Core 2.22018-12-04.NET Core 2.2 的新增功能
C# 8.0.NET Framework 4.82019-04-18C# 8.0 中的新增功能
.NET Core 3.02019-09-23.NET Core 3.0 的新增功能
.NET Core 3.12019-12-03.NET Core 3.1 的新增功能
C# 9.0.NET 52020-09-04C# 9.0 中的新增功能
.NET 52020-10-13What’s new in .NET 5
§1.3 .NET Framework组成

前面简单介绍了一些基础的概念,接下来我们看看究竟NetFramework有哪些部分组成。

主要包括两个部分,公共语言运行时(Common Language Runtime,CLR)和.Net Framework类库(Framework Class Library,FCL)。

1:公共语言运行时

它是核心基础,我们可以将CLR看成一个在执行时管理代码的代理,它提供了内存管理、线程管理和异常处理等服务,而且还负责对代码实施严格的类型安全检查,保证了代码的正确性。我们将受CLR管理的代码成为托管代码,不受CLR管理的代码称为非托管代码。

其中CLR包含两个部分:通用类型系统(CTS)和公共语言规范(CLS)。

比如C#和VB.NET都是由CLR进行管理的,但是它们的语法和数据类型各不相同,CLR是如何对这两种不同的语言进行托管的呢?

这就得益于CTS。CTS用于解决不同语言之间数据类型不同的问题,如C#中整形是int,而VB中是Integer,通过CTS可以将两者转换为Int32,所有.NET语言都共享这一类型系统,从而使它们之间能够无缝操作。

.NET语言不仅仅存在数据类型的不同,语言规范上也有明显的差距。CLS就是为了解决这个问题产生的。它制定了.NET平台为目标的语言所必需支持的最小特征。遵循该标准的语言在.NET平台下都可以相互调用。

2:.Net Framework类库

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

§1.4 C# 代码执行过程

在VS下,我们只需要按F5就可以编译和执行C#代码了,下面我们具体了解一下代码的执行过程。

(1)C#代码编译为中间语言代码阶段**(IL)**。

(2)中间语言代码解释为本机代码阶段,为了使IL代码能够运行,必需把它编译为本地代码,即CPU指令。这个过程由CLR的JIT编译器来完成。

(3)执行本机代码,JIT编译生成本机代码之后,编译好的本机代码会被放置到一个缓冲区,下次再调用相同的代码时,可以直接运行缓冲区的现有的本机代码,从而避免重新验证IL代码以及把它编译为本机代码的过程。使用这种方式,只有JIT发生的时候才有一定的性能损失。

§1.5 C# 的集成开发环境

​ 在Win环境下,C#的开发比较简单,有专门的集成开发环境Visual Studio (2017 、2019都可)。在Mac下,可以使用Xamrin Studio/Visual Studio Code进行开发,它也是一个集成的开发环境,使用起来也比较简单。
我们下面的内容以VS2019为例进行讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、系统说明 | ----------------------------------- 本系统是在Microsoft Visual Studio 2003环境下用C#语言编写的个人信息管理系统。 其主要功能有: ------------- 1.文章管理模块  (1)用户发表新文章,可以将文章设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的文章。 (2)用户可以新建文章分类,在文章查询时,文章分类可以做为查询的一个依据。 (3)用户可以查询本人的所有文章,也可以查询其它用户公开的文章,查询条件可以为: 根据文章标题、内容、文章类别、发表时间、修改时间、用户名。 (4)用户可以删除、修改、改变文章是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 2.日记管理模块 (1)用户发表新日记,可以将日记设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的日记。 (2)用户可以新建日记分类。 (3)用户可以查询本人的所有日记,也可以查询其它用户公开的日记,查询条件可以为: 根据日记标题、内容、类别、发表时间、修改时间、用户名、心情、天气。 (4)用户可以删除、修改、改变日记是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 3.相册管理模块 (1)用户可以上传新图片,可以将图片设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的图片。 (2)用户可以新建相册分类。 (3)用户可以浏览本人的所有图片,以及其它用户公开的图片。 (4)用户可以删除、更新、导出图片,但对于其它用户的图片,这些功能有所限制。 -------------- 4.备忘管理模块 (1)用户可以写新备忘,可以设置备忘提醒时间、是否提醒、备忘分类、紧急程度、查看阴阳历。 (2)用户可以新建备忘分类。 (3)用户可以查询本人的所有备忘,查询条件有:备忘标题、内容、提醒时间、是否完成、紧急程度、备忘分类。 (4)用户可以删除、更新备忘。 -------------- 5.费用管理模块 (1)用户可以写新费用,可以填写费用名称,说明,数量,单价。 (2)用户可以查询本人的所有费用,可以统计查询到的费用情况,并可以将查询记录导出到EXCEL中保存。 (3)用户可以删除、修改费用。 ---------------------------- 6.信息管理模块 (1) 用户可以更改密码。 (2) 提供管理日常联系人的信息功能,可以批量从EXCEL中导入联系人,也可以批量导出联系人。 ---------------------------- |

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值