# 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
[](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`。
## 构建状态
[](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v8.0%20-%20Windows.yml)
[](https://github.com/IntelliTect/EssentialCSharp/actions/workflows/Branch%20v8.0%20-%20Linux.yml)