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 框架的內容請參考這篇文章:https://www.vinanysoft.com/c-sharp-basics/introducing/multiple-dotnet-frameworks/
每種 .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# 控制台應用程序。
原文鏈接:https://www.vinanysoft.com/c-sharp-basics/introducing/start-with-hello-world/