C#版本的历史

+ 展开目录

- 版本号的一些命名规则

- 语言,运行时,类库,开发工具的区
- 2002年 C#1.0发布

- 2005年 C#2.0发布
- 2007年 C#3.0发布
- 2010年 C#4.0发布
- 2012年 C#4.5发布
- 2012年 C#5.0发布
- 20**年 C#6.0发布
- 20**年 C#7.0发布

这年头啥东东都喜欢过段时间整个啥新版本出来.汽车,手机如此,软件就更是如此了啊.比如啥Iphone 4,Iphone 5,Windows 8,Oracle 12C,SQL Server 2010.

- 版本号的一些命名规则

大部分时候是在名字后面加些数字表示不同的版本.其中以加上年份号最为简单明了啊.比如Visual Studio 2008.但大部分人还是不用这个方式.因为年份号中没有带来更多的信息.我们是希望能从版本号得知有多大的改动的信息.所以很多软件都用的命名规则是下面这样

Major.Minor.Build.Revision

主版本.子版本.内部版本.修订版本

这也就是4个不同的数字,中间用点号分开比如版本号4.3.2.1

一般主版本号变了代表改动非常大,子版本变了改动相对较少.内部版本,修订版本依次变动更小.反正你知道数字越在前面代表越重要.

不过上面的规范只是一个建议,你要不爱这么去命名也没谁管你.一般软件都用三个数字或两字数字就OK了.比如2.1.0或者2.1啊.第一次出来的产品一般就叫1.0

+ 语言,运行时,类库,开发工具的区别

在说C#版本号之前先讲下这几个概念的区别.很多关于版本号的混淆来自没很好区分这几个东东.

我们知道编程语言的话只是一些语法规范,就像法律条文一样.一般把语法规则写在规格说明书(Specification)上.

然后得整个编译出来,相当于一个翻译软件一样.当你按照规格书上的规则去写好代码后翻译器能把它们翻译成机器能识别的可执行文件.不过由于C#跟Java一样为了以后在不同的平台上运行,在操作系统上面在抽象出了一层,Java中叫虚拟机.C#中叫公共语言运行时(CLR).C#编译出来的东东叫微软中间语言(MSIL).它不能直接被机器识别.只能运行在CLR上.所以有时C#语言规范出了一些新特性,编译器要支持肯定得做些更新.但CLR要更新不呢?这个看情况,如果那些新特性,编译器翻译过来后跟以前的东东一样,比如语言中多了一些语法糖,实际上原理还没变.那CLR不用更新就能支持.如果新特性编译器翻译过来更以前的东东不一样了,这时也得更新CLR去支持

另外由于开发啥软件时都会有很多常用的操作.于是会整一些类库实现了那些功能给你用.你实现那些常用功能就不用自己从头写代码.调用下类库里面的函数就行了.而开发工具就是为了使你写代码方便的一个工具.比如给些智能提示,可以调试,当编译出错了会给你定位到出错的地方.但实际上你也可以完全不用开发工具,自己整个文本编译器就写代码的.不过很少有人这样做,太麻烦了.

平时说到C#可能提的最多的是.Net Framework了.这是个啥东东呢,它就是编译器,CLR,类库的一个组合.而我们安装微软的Visual studio时是把开发工具和.Net Framework给你一起打包好了.实际上VS中的东东很多,里面还有个C++的编译器,还有其他很多小工具.我们也可以单独安装.Net Framework.你电脑上如果想运行C#开发的软件,必须先装个.Net Framework.在Win 7上,微软给你默认安装了.Net Framework 3.5

- 2002年 C#1.0发布

2002年,微软发布了C#的第一个版本C# 1.0 而Java早在1996年就出现了.所以C#中借鉴了很多Java的思想.哎关于啥叫借鉴啥叫抄袭这是个很难说清楚的话题了啊.有了个语言自然还要个配对的编译器和类库,开发工具才行啊.于是就有了.Net Framework 1.0 Visual Studio.Net 2002

我们知道微软更新东西是相当的快,啥操作系统,数据库这种超级复杂的软件他也很快给你更新了.因为他有钱,有牛人去整啊.

于是第二年就有C# 1.2  .Net Framework 1.1 Visual Sudio.Net 2003

至于CLR版本是多少就不知道了,估计就是1.0吧

哎反正C# 2.0之前的东东出来后没几个人用的.现在是更没谁用了.所以你不用去管之前的这些玩艺了啊.

- 2005年 C#2.0发布

C# 2.0在2005年发布,也过了一两年C#开始流行起来了啊,现在很多人用C#开发大部分时候用的就是C#2.0里面的东西.

哎回想下2005年我在干嘛呢? 貌似还在高二,那会还是个软件白痴.从来没听说过啥编程语言,更不会听说C#了.还只是刚接触电脑,叫别人帮申请一个QQ,然后跑到网吧上网,摸索了半天才登上QQ,最后不小心点了最小化,结果找了半天硬是没找到它跑哪去了.也不好意思问旁边的人.最后极为郁闷的离开网吧.

与C#2.0配对的是.Net Framework 2.0  Visual Studio 2005.     其中CLR也是2.0  C#2.0中最大的更进是出现了泛型.在2005年微软不安面了数据库新版本SQL Server2005.所以2005对微软来说还是蛮重要的一年啊.

随后2006 年.Net Framework 3.0出现了,但C#语法, CLR ,VS还是老样子没变.我们知道刚一开始C#语言,CLR,.Net Framework都是一样的.就从这一次开始出现了不同.觉得这次的版本号取的就很是操蛋了啊.不过人家微软在.Net Framework新增加了很多东西,干了很多活啊.如果不整个新版本出来宣扬下可不行,做好事不留名可不是企业该做的事.在2006年微软还做了一件很是操蛋的事,整了个Vista系统出来,并把.Net Framework .30默认安装在上面.不知道现在还有多少人用Vista.

在.Net Framework添加了很多类库.比如出现了WPF,WCS,WF这些东东.

- 2007年 C#3.0发布

2007年年底C# 3.0发布.回想下那会的我在干嘛呢? 貌似是大二上学期了.此时我的还是孤陋寡闻的很.还从没听说过C#,只听说过啥C,C++,Java.有点印象的是啥时有次跑去图书馆好像有看到一本C#的书,但只一眼扫过,以为是C++,但印刷错误两个+重叠了,看起来变成C#了,也没翻开看看. 也从来没听说过CSDN这网站,自然也没登过这网站.貌似是是08年才听一个同学说到这网站的.他说这网站上下东西方便,很多地方其他地方找不着,只这有,只是操蛋的是很多东东要很多分才给下.

与C#3.0 配对的是 .Net Framework 3.5 ,Visual Studio 2008, CLR 3.0

不知道为啥07年发布的VS就叫08,估计是很多人喜欢赶时髦吧,08年听着是07年的东东感觉过时了啊.而且07年底了也快08年了.要是整成2012跨度太大就不好了啊.你像人家一生产啥食品的公司他07年底生产的东西一般也只敢贴个08年.只有少数胆子大的哥们敢给你贴个09,10.这样过了一两年那些吃的还能照样卖呢.不然人家一看日期过期了可不敢吃啊.

C# 3.0中最重要的特性就是Linq了.

- 2010年 C#4.0发布

2010年C#4.0发布,配对的是.Net Framework 4.0 Visaul Studio 2010 CLR4.0

C#4.0最重要的特性据说是支持动态类型了.老实说还没用过C#4.0中的新特性.VS2010中的新东东有次闲着没事到用了下,里面貌似支持MVC模式,.你新建一个Project时就默认生成一些代码,形有一个MVC的框架在那,相当于一个简单的示例,你能直接运行.我也就花了点时间整了个几个很小的页面出来,后面就没再玩过了啊.

再回想下我2010在干嘛呢?貌似要毕业了啊,毕业设计还临时抱佛脚用的C#整的,本来是想用Java整的,想用里面的一个啥框架,比如Spring,Struts,Hibernate之类的.但发现比较复杂.于是想偷懒换其他啥技术,刚开始想用MFC,但一看那页面丑得死,而且还极为复杂.然后又想到VB,但看到里代码里面竟然不用在括号,用啥if,end if看惯了C,C++,Java中的大括号自然极为讨厌VB这种风格的语法.不过现在觉得代码中不用大括号也挺习惯的,主要是写多了PL/SQL后习惯的.后面同宿舍的一哥们说C#容易啊,用这整吧.于是边学边用C#

- 2012年 C#4.5发布

C#4.5配套的是Visual Studio 2012.

哎算了不去赶时髦了,4.0我都学没去整过,4.5就也先不管了啊.啥时闲得蛋痛了再去了解下玩玩.

知道C#版本对我们的用处

我们知道C#的语言特性需要编译器和CLR来支持.而Win7默认安装的是.Net Framework 3.5.也就是说支持C#3.0, C#2.0所有特性.如果你用到了C#4.0或者4.5中新增的特性.用户用你的软件时必须得装新的.Net Framework如果你开发的只是个比较小的桌面程序之类的.用户用下你的东东还得去装个.Net Framework就不好了.

另外假如你还想让自己的软件在windows XP, Vista上运行.XP默认是没装.Net Framework的.Vista是装了.Net Framework3.0也就是说支持C# 2.0的所有特性.所有这种情况下你最好别用C#3.0或更新的版本里的新特性.

另外我前面谈到了C#语言有新特性了,CLR是不是一定得更新才能支持.也就是C#3.0的东西.Net Framework3.0 (CLR 2.0) 能支持吗?答案是有些特性可以支持,有些不可以.

比如C#中的自动填充属性,匿名类型等只是语法糖,原理还是没变的,经过编译器编译后跟以前2.0的东东一样.实际上C#3.0中除了Linq需要CLR3.0才能运行,其他特性CLR2.0都能支持.

当然你要用C#3.0的东西自然不能用Visual Studio2005了,得用Visual Studio 2008.在VS 2008中新建一个项目的时候你在向导的右上角有个下拉列表,里面可以选.Net Framework版本.有2.0,3.0,3.5三个选项可选.

- 2012年 C#5.0发布

- 20**年 C#6.0发布

- 20**年 C#7.0发布

时间: 2024-10-12 20:47:32

C#版本的历史的相关文章

WordPress禁止版本修订历史、自动保存和自动草稿最新方法汇总

提醒:我这里汇总的方法有一些只支持以前老版本的WordPress,对于新版本的WordPress,有些功能是不支持的,所以操作前请做好备份.我的WordPress版本目前是4.3.1,我会在我测试有效的后面注明. WordPress的版本修订历史(revision).自动保存(autosave)和自动草稿(auto-draft)功能会非常讨厌的增加文章ID的数字,会造成连续的两篇文章,ID数值可能会相差很多,让我们这些希望文章ID连续的人感到非常不舒服. 网上有很多的教程,但是有的说的不全面,有

Java版本发展历史(转载自CSDN)

几年前,Java将死的话题被传得沸沸扬扬,特别是在甲骨文公司收购SUN公司后,几乎全世界的Java程序员都皱起了眉头.但随着Google Android平台的崛起以及大数据时代的来临,Java似乎又重新焕发了光芒. 2014年1月份,CSDN携手<程序员>杂志发起了"2013年中国软件开发者薪资大调查"在线调查活动,通过调查发现,使用Java的开发者高达45.39%,位居第一.而使用C#和C++的开发者仅为17.63%和13.37%. Java语言的开发性.兼容性和扩展性使

如何在Oracle官网下载java的JDK最新版本和历史版本

官网上最显眼位置只显示了Java SE的JDK的最新版本下载链接,因为都是英文,如果英文不是很好,寻找之前的JDK版本需要很长时间,而且未必能在那个隐蔽的位置找到之前版本列表. 今天小编来给你详细讲解下如何在ORACLE官网下载JDK 步骤: 1.打开Oracle官网,准备下载JDK(下载时需要使用注册用户登陆,可以免费注册) 官网地址:http://www.oracle.com/ 2.有账户的直接登录下载,没有的注册一下就可以下载了 3.开始下载JDK.用鼠标将网页拉到最下面 4.进去后,默认

玩转Git三剑客——06. 给文件重命名的简便方法、07. 通过git log查看版本演变历史、08. gitk: 通过图形界面工具来查看版本历史

学习视频:玩转Git三剑客(苏玲 携程代码平台负责人)--极客时间 https://time.geekbang.org 一.工作区文件重命名 1. 传统方法(需要三步命令) (1)mv readme readme.md //git status 输出:删除了"readme"文件,并且存在未追踪(untracked)文件readme.md (2)git add readme.md + git rm readme //git status 输出:暂存区需要提交的改变为"将read

Linux版本及历史帮助简单操作

1.Linux发行版有三大流派(1)slackware :SUSE Linux Enterprise Server(SLES) OpenSuse桌面(2)debian:ubuntu,mint(3)redhat:RedHat Enterprise Linux 每个月发行一个新版本 CentOS: 兼容RHEL的格式中标麒麟:中标软件Fedora:每六个月发行一个新版本(4)还有一些小众版本不一 一列出.不同发行版之间的区别:Debian:Debian是社区类Linux的典范,是迄今为止最遵循GNU

Ubuntu各版本的历史发行界面

总的网址是:http://releases.ubuntu.com/releases/ 比如,选择的是UbuntuKylin,则点击 http://cdimage.ubuntu.com/ubuntukylin/releases/ 其他,类似.不再多赘述. Ubuntu11.10 带图形安装步骤详解 Ubuntukylin-14.04-desktop(带分区)安装步骤详解 Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 VMware里Ubuntukylin-14.04-

git 版本历史

版本:git rev-parse --git-dir显示Git版本库的位置   --show-cdup显示当前工作区目录的深度  --parseopt解析命令行参数 $ git rev-parse --symbolic --branches 显示分支 $ git rev-parse --symbolic --tags 显示里程碑 $ git rev-parse --symbolic --glob=refs/* 显示定义的所有引用.其中refs/remotes/目录下的引用称为远程分支(或远程引用

&lt;Git命令使用&gt;当前版本,历史版本,版本切换

添加修改仓库中文件,用到的git命令是 git add <xx> git commit -m "xxx" 首先要说一下,在操作系统文件系统中更改仓库目录里的文件只是更改文件而已,而git管理系统并没有任何变化,我们使用git add和git commit命令是在改变git版本管理系统. 使用git log命令可以显示从最近到最远的提交日志,加上 --pretty=oneline参数可以精简显示内容. git内部有个指向当前版本的HEAD指针,当回退版本时,Git仅仅是把HE

Git回滚远程版本

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “房子是租的 但生活不是” 1.故事的开始 远程master分支下代码被不小心提交了很多垃圾代码或项目删掉,想要回滚到以前的某一版本并删除commit log.怎么办?情景如图: 情景很简单.老板上传了个文件,我把他删掉了.有一种办法,把文件再push下,但是也不想他看到图中那comment(ps:这样我才不会被fire).实现上面场景的代码如下: vim A.txt git add . gi