C# 基礎知識系列- 17 實戰篇 編寫一個小工具(1)
阿新 • • 發佈:2020-05-07
# 0. 前言
這是對C# 基礎系列的一個總結,現在我們利用之前學到的知識做一個小小的工具來給我們使用。
如果有看過IO篇的小夥伴,應該有印象。當時我提過一個場景描述,我們在平時使用系統的時候,經常會為了找某個檔案的位置而煩惱。那麼我們現在嘗試寫一個控制檯程式來幫助我們找檔案的具體位置。
# 1. 分析
好,大家應該初步瞭解了需求內容。然後讓我們來做一個簡單的需求分析:
1. 簡單分析一下需求包括哪些功能點
2. 規劃各個功能點的實現方式
嗯,理論上講還有一大堆的步驟,但因為是個練手的小專案就不扯那麼多沒用的了。簡單來講就是,分兩步:
1. 抓取系統可以訪問的所有檔案,並儲存其全路徑
2. 根據輸入的引數查詢檔案的全路徑
需求分析完了,然後尋找可以實現的技術,我們現有的技術有IO、檔案/路徑操作、任務模式等技術,那麼可以供我們選擇的技術一目瞭然了:通過檔案/目錄/路徑API訪問所有的檔案目錄,使用字典儲存,然後使用Linq查詢檔案所在目錄。
OK,需求分析完了,技術也確認了。那麼我們現在開始吧,小夥伴們跟緊了哦,車速不快的。
# 2. 開始
這裡簡單演示一下如何用Rider和VSCode、Visual Studio2019建立專案。
## 2.1. 建立一個名為 FileFinder的專案
**a.使用Rider:**
點選箭頭所指方向:
![image-20200506213821025](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132408633-1977411928.png)
先在左側選擇Console Application,然後修改 Project name,最後修改 Solution Directory為自己的目錄:
![image-20200506214124769](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132408868-828817260.png)
然後點選 Create,建立完成結果如下:
![image-20200506214423649](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132409070-1958362690.png)
Rider建立專案的步驟在Windows、Linux、Mac三個系統都是一樣的。
**b. 使用VS Code建立專案**
使用VS Code建立專案與Rider和Visual Studio有所不同,步驟比較繁瑣:
先在合適的資料夾下建立一個fileFinder目錄,並在fileFinder目錄下開啟命令列,輸入以下命令:
```bash
dotnet new sln -n fileFinder # 建立一個名為 fileFinder 的解決方案
dotnet new console -n fileFinder # 建立一個名為 fileFinder的控制檯程式
dotnet sln add fileFinder # 把 fileFinder的專案新增到fileFinder的解決方案裡
```
最終結果應該是這樣的:
![image-20200506220949536](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132409239-1935349895.png)
**c.使用 Visual Studio**
![file](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132409529-617796445.png)
選擇【建立新專案】
![file](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132409761-1923183354.png)
注意框住地方的選擇,選控制檯程式,然後點選下一步
![file](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132409931-215388526.png)
填寫專案名稱、路徑,點選建立
![file](https://img2020.cnblogs.com/other/1266612/202005/1266612-20200507132410140-541682316.png)
## 2.2 開始編寫程式
現在我們建立完成了一個專案,然後可以開始編寫我們的程式了。
首先建立一個遍歷所有目錄的方法:
```c#
public static Di