- 語言,運行時,類庫,開發工具的區
- 2002年 C#1.0發布
- 2005年 C#2.0發布
- 2007年 C#3.0發布
- 2010年 C#4.0發布
- 2012年 C#4.5發布
- 2012年 C#5.0發布
- 2014年 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發布
- 2014年 C#6.0發布
2014年C#6.0發布,配對的是.Net Framework 5.0 Visaul Studio 2014
- 20**年 C#7.0發布