# EssentialCSharp **Repository Path**: tao5cai/EssentialCSharp ## Basic Information - **Project Name**: EssentialCSharp - **Description**: 《C#8.0本质论》原书示例代码 - **Primary Language**: C# - **License**: MIT - **Default Branch**: v9.0 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-02-09 - **Last Updated**: 2023-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EssentialCSharp [![构建和测试v9.0](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v9.0.yml/badge.svg?branch=v9.0&event=push)](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v9.0.yml) 这个项目包含Mark Michaelis (Addison-Wesley)所著的 **Essential c#** 的源代码。 ## 示例代码指南 确保在最新版本中安装了以下框架之一。 * [.NET Framework](https://www.microsoft.com/net/targeting) (Windows) * [.NET Core](https://www.microsoft.com/net/core) (All) [Visual Studio 2019](https://www.visualstudio.com)包含。net Framework运行时,并提供了安装。net Core的选项。更不用说,它是一个很好的IDE,可以很容易上手。 ### 下载代码 #### 本地副本 打开一个控制台并将工作目录更改为所需的项目位置。 ``` git clone https://github.com/IntelliTect/EssentialCSharp.git cd ./EssentialCSharp/ ``` 源代码是该书最新发布的版本,这是clone命令后面的默认分支。但是,您可以使用以下命令切换到不同的分支,例如v9.0: ``` Git checkout v9.0 ``` ### 构建 **EssentialCSharp.sln** 是项目的主要解决方案,用Visual Studio和_Build All_打开它。 对于那些使用命令行的人,用这些命令从/EssentialCSharp/目录构建所有的项目: ``` dotnet restore EssentialCSharp.sln dotnet build EssentialCSharp.sln ``` ### 运行 导航到/EssentialCSharp/src/(project)/目录中的单个项目并运行代码。下面的例子是Chapter01,用户输入_1.1_来执行清单编号。 要运行清单,必须运行包含清单的项目。例如,要运行清单1.1,必须导航到目录中的Chapter01 _Solution Explorer_,并将Chapter01设置为启动工程。在Rider中,可以在_Explorer_选项卡中找到所需的项目,右键单击项目并单击_run_。 ``` $ cd ./src/Chapter01/ $ dotnet run Enter the listing number to execute (e.g. For Listing 1.1 enter "1.1"): 1.1 ___________________________ Hello. My name is Inigo Montoya. ____________________________ End of Listing 01_01 Press any key to exit. $ ``` .NET CLI工具的文档可以在这里找到: ## 测试 要运行所有测试,请在本地计算机上的EssentialCSharp解决方案目录下的命令提示符上运行`dotnet test`。 ## 构建状态 [![Branch v8.0 - Windows - EssentialCSharp](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v8.0%20-%20Windows.yml/badge.svg?branch=v8.0)](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v8.0%20-%20Windows.yml)
[![Branch v8.0 - Linux - EssentialCSharp](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v8.0%20-%20Linux.yml/badge.svg?branch=v8.0)](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v8.0%20-%20Linux.yml)