2.1.1 聊聊 C# 的版本及特性

《C# 8.0 & .NET Core 跨平臺應用開發》

課前提要

這一章講解了C#程序設計語言的所有基礎知識。在本章的課程中,您將學習如何使用c#的語法編寫語句,以及介紹一些您將每天使用的常用詞彙。除此之外,在本章結束時,您將對如何臨時存儲和處理計算機內存中的信息有信心。

這一章覆蓋以下知識點:

  • 介紹C#
  • 瞭解C#基礎知識
  • 使用變量
  • 處理空值
  • 進一步探索控制檯應用程序

這是整章節內容,本節課我們將開始第一部分,聊聊 C# 的版本及特性。

  1. 瞭解瞭解語言的版本及特性
  2. 確定你的 C# 編譯器版本
  3. 使用一個特殊(非默認)的 C# 版本

瞭解瞭解語言的版本及特性

至發稿為止,C# 已經更新到 8.0 版本,但 9.0 已緊跟而來。看來 Microsoft 對 C# 寄予厚望。下面簡單描述以下各版本 C# 的發佈日期及版本特性。

  • C# 1.0於2002年發佈,包含了靜態類型的面向對象現代語言的所有重要特性,你將在第1部分的所有章節中看到這些特性。
  • C# 2.0於2005年發佈,主要關注使用泛型實現強數據類型,以提高代碼性能並減少類型錯誤。
  • C# 3.0是在2007年發佈的,主要關注於支持LINQ以及匿名類型和lambda表達式等相關特性。
  • C# 4.0是在2010年發佈的,其重點是改進與F#和Python等動態語言的互操作性。
  • C# 5.0於2012年發佈,主要關注於簡化異步操作支持,它在編寫類似於同步語句的語句時自動實現複雜的狀態機。
  • C# 6.0於2015年發佈,主要關注於對該語言的細微改進。
  • C# 7.0於2017年3月發佈,主要關注於添加函數語言特性,如元組和模式匹配,以及對語言的細微改進。
  • C# 8.0於2019年9月發佈,主要關注與null處理相關的語言的重大變化。

確定你的 C# 編譯器版本

自從 C# 7.0 開始,微軟決定增加更新節奏,增加次要版本號。這是自C# 1.1以來第一次。

用於 C#、Visual Basic和 F# 的 .NET 語言編譯器 Roslyn 是作為 .NET Core SDK 的一部分發布的,如 圖2 所示。要使用特定版本的 C#,您必須至少安裝對應版本的.NET Core SDK,詳見下表:

2.1.1 聊聊 C# 的版本及特性

圖1. 版本對應關係

2.1.1 聊聊 C# 的版本及特性

圖2. 注意 Roslyn 所處的位置

打開Visual Studio Code的終端面板。鍵入如下命令查看目前正在使用.NET Core版本。

<code>dotnet --version 或 dotnet --info/<code>

從 .NET Core 3.0 開始,使用的已經是 C# 8.0 版本。如果有特殊需求,需要查看目前編譯器支持的 C#版本,可以運行一下命令,並查看結果:

<code>csc -langversion:?/<code>
2.1.1 聊聊 C# 的版本及特性

圖3. 查看支持的 C# 版本

csc 命令可以通過在C盤根目錄下輸入 dir /s csc.exe

命令找到所在位置。通常可以在 Visual Studio Code 文件夾的 C# 擴展中的 Roslyn 目錄下找到,C:\Windows\Microsoft.NET\Framework\v4.0.xxxx 下也可找到,自行搜索嘗試。

使用一個特殊(非默認)的 C# 版本

默認情況下,Visual Studio Code 和 dotnet 命令行會假定你想使用最新版本的 C# 編譯器。所以,在 C# 8.1 發佈之前,C# 8.0 是默認使用的最新版本。如果你想將語言版本調整為7.3,可以在項目文件中,加入或修改以下元素:

<code>7.3/<code>

如果未來 Microsoft 發佈了 C# 8.1 版本,你也可以將上面命令中的版本號7.3更改為8.1。

我們在使用 dotnet new console 命令創建控制檯應用時,會自動生成兩個文件,這在上一章節的尾部 Hello World! 示例中已經見過。其中一個是我們更改過 Hello World! 字符串的 Program.cs 文件,另一個與文件夾名相同的.csproj項目配置文件。你可以將上個知識點中截圖看到的版本號,填寫到下 圖3 加粗位置,替換“8.0”。

2.1.1 聊聊 C# 的版本及特性

圖4. 指定 C# 版本號

更改版本號後,記得保存(或開啟“自動保存”)。之後在終端中查看運行結果。如填寫不保存,會報錯。

本課小結

本課我們簡單瞭解了 C# 的各個版本特點,以及如何通過編輯項目配置文件改變 C# 以哪個版本編譯。

下節課,我們將介紹 C# 的最基礎語法。


分享到:


相關文章: