[toc] C (讀作 “See Sharp”)是一種簡單易用的新式編程語言,不僅面向對象,還類型安全。 C 源於 C 語言系列,可用 C 構建在多種操作系統(平臺)上運行的軟體組件和應用程式。 因為本系列文章會廣泛地使用 C 代碼示例,所以我們先來看看 C 程式的樣子,還有它的不同部分代表什麼意思 ...
目錄
C#(讀作 “See Sharp”)是一種簡單易用的新式編程語言,不僅面向對象,還類型安全。 C# 源於 C 語言系列,可用 C# 構建在多種操作系統(平臺)上運行的軟體組件和應用程式。
因為本系列文章會廣泛地使用 C# 代碼示例,所以我們先來看看 C# 程式的樣子,還有它的不同部分代表什麼意思。
本篇,我們從一個簡單程式開始,學習如何創建和運行一個 C# 程式。
Hello world
“Hello World” 程式歷來都用於介紹編程語言。 下麵展示了此程式的 C# 代碼:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
創建、編輯、編譯和運行 C# 源代碼
寫好 C# 代碼後需要編譯和運行,目前有多個不同的 .NET 框架供選擇,這時要選擇使用哪個 .NET 實現(或者說 .NET 框架)。 這些實現通常打包成一個軟體開發包(Software Development Kit,SDK),多個 .NET 框架的內容請參考這篇文章:sfsd
每種 .NET 框架的安裝過程都有所區別。建議訪問 https://www.microsoft.com/net/download
瞭解具體的下載和安裝指示。先選好 .NET 框架,再根據目標操作系統選擇要下載的包。
如不確定要使用的 .NET 框架,就預設選擇具有跨平臺能力的 .NET Core。它可以運行在 Linux、macOS 和 Microsoft Windows,所以優先使用 .NET Core。
有許多源代碼編輯工具可供選擇,包括最基本的 Windows 記事本、Mac/macOS TextEdit 和 Linux vi。 但建議選擇一個稍微簡單又容易掌握功能還強大的工具,至少應支持彩色標註。支持 C# 的任何代碼編輯器都可以。
如果還沒有特別喜歡的,推薦開源編輯器 Visual Studio Code(https://code.visualstudio.com
)。 如果在 Windows 或 Mac 上工作,也可考慮 Microsoft Visual Studio 2017(或更高版本),詳情參考 https://www.visualstudio.com
。
使用 .NET Core 命令行介面 (CLI) 工具
.NET Core 命令行介面 (CLI) 工具是用於開發 .NET 應用程式的新型跨平臺工具鏈。以下是在 Windows 上創建、編譯和執行 HelloWorld 程式的示例:
要開始構建 .NET 應用程式,只需下載並安裝 .NET SDK(軟體開發工具包)。
安裝完成後,打開一個新的命令提示符並運行
dotnet
命令。如果該命令運行,列印出有關如何使用 dotnet 的信息,說明安裝成功了。導航到桌面。
運行
dotnet new console -o myApp
命令該
dotnet
命令為創建了一個console
類型的應用程式。-o
表示創建一個名為 myApp 的文件夾,並把代碼文件放到目錄中。myApp 文件夾中的
Program.cs
文件就是 C# 源代碼文件。預設情況下,它有如下內容:using System; namespace myApp { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
運行
dotnet run
命令到目前為止,已經構建並運行了第一個 .NET 應用程式!
可以使用任何文本編輯器(例如記事本)打開
Program.cs
文件,然後修改為如下的內容:using System; namespace myApp { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.WriteLine("The current time is " + DateTime.Now); } } }
保存
Program.cs
文件,然後再次運行dotnet run
命令。
使用 Visual Studio
使用 Visual Studio 2017 生成 Hello World 應用程式:https://docs.microsoft.com/zh-cn/dotnet/core/tutorials/with-visual-studio
在 Visual Studio 2017 中調試 Hello World 應用程式:https://docs.microsoft.com/zh-cn/dotnet/core/tutorials/debugging-with-visual-studio?tabs=csharp
使用 Visual Studio 2019 生成 Hello World 應用程式:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/inside-a-program/hello-world-your-first-program?tabs=windows
創建項目
無論 Dotnet CLI 還是 Visual Studio 都會自動創建幾個文件。第一個是名為 Program.cs
的 C# 文件。雖然可選擇任何名稱,但一般都用 Program
這一名稱作為控制台程式起點。.cs
是所有 C# 文件的標準擴展名,也是編譯器預設要編譯成最終程式的擴展名。
雖然並非一定需要,但通常都會為 C# 項目生成一個項目文件(.csproj
文件)。 項目文件的內容隨不同應用程式類型和 .NET 框架而變。但至少會指出哪些文件要包含到編譯中,要生成什麼應用程式類型(控制台,Web,移動,測試項目等等),支持什麼 .NET 框架,調試或啟動應用程式需要什麼設置,以及代碼的其他依賴項(稱為“庫”)。
下麵的代碼列出了一個簡單的 .NET Core 控制台應用項目文件。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
</Project>
編譯和執行
dotnet build
命令生成名為 myApp.dll
的程式集(assembly)。擴展名 .dll
代表“動態鏈接庫”(Dynamic Link Library, DLL)。 對於 .NET Core,所有程式集都使用 .dll
擴展名。在本例中,.NET Core 應用程式的編譯輸出預設放到子目錄 ./bin/Debug/netcoreapp3.0/
。之所以使用 Debug 這個名稱,是因為預設配置就是 debug。該配置輸出為調試而不是性能優化。
編譯好的輸出本身不能執行(myApp.dll
不能雙擊運行)。相反,需用 CLI 來寄宿(host)代碼。 對於 .NET Core 應用程式, 這要求 Dotnet.exe 進程作為應用程式的寄宿進程。
.NET Core 3.x 之後的應用使用可執行文件進行構建(生成 .exe
文件),在本例中,./bin/Debug/netcoreapp3.0/
目錄下的 myApp.exe
可以雙擊運行。
總結
本篇簡單的介紹瞭如何創建一個基本的 C# 控制台應用程式程式。讀完本篇,應該能夠掌握使用 Visual Studio 創建並調試 C# 控制台應用程式。