學習C#時,透過建立控制檯應用程式來實踐檔案操作、使用者輸入與輸出處理是非常好的方式。下面我將引導你完成一個簡單的專案:一個文字記錄器,它能讓你輸入一些文字,儲存到檔案中,還能讀取並顯示之前儲存的內容。
第一步:建立控制檯應用程式專案
- 開啟Visual Studio或Visual Studio Code。
- 選擇“建立新專案”。
- 選擇“控制檯應用(.NET Core)”或“.NET Console App”(取決於你的Visual Studio版本)。
- 給專案起個名字,比如“TextRecorder”,然後建立。
第二步:新增必要的名稱空間
在Program.cs
檔案的頂部,新增以下名稱空間以使用檔案操作相關的類:
using System;
using System.IO;
第三步:編寫程式碼
接下來,我們將實現以下功能:
- 使用者可以選擇輸入文字並儲存到檔案。
- 使用者可以讀取並顯示檔案中的內容。
修改Program.cs
中的Main
方法,加入以下程式碼:
// 首先,我們需要引入一些工具箱裡的工具,這樣才能做我們想做的事情。
using System; // 這個工具箱包含了基礎的操作,比如列印資訊到螢幕上。
using System.IO; // 這個工具箱專門用來處理檔案的讀寫。
// 接下來是我們程式的主心骨,所有的事情都從這裡開始。
class Program
{
// Main方法是程式的入口,就像遊戲開始的按鈕。
static void Main(string[] args)
{
// 我們想要讓使用者一直有事情可做,所以用一個迴圈讓選單一直顯示。
while (true) // 這句的意思是“一直做下面的事情,直到我說停”。
{
// 先告訴使用者他們能幹什麼。
Console.WriteLine("請選擇操作:1. 寫入文字 2. 讀取文字 3. 退出");
// 然後,耐心等待使用者告訴我們他們的選擇。
string choice = Console.ReadLine(); // 這句是在說:“告訴我你的選擇,我聽著呢。”
// 根據使用者的選擇,做不同的事情。
switch (choice)
{
case "1": // 如果使用者選了1...
WriteToFile(); // ...我們就帶他們去寫日記。
break; // 做完一件事,記得說“停”,這樣程式不會亂跑。
case "2": // 如果使用者選了2...
ReadFromFile(); // ...我們就開啟日記本讓他們看之前寫的。
break;
case "3": // 如果使用者說“夠了,我想走了”(選擇了3)...
Console.WriteLine("程式已退出。"); // ...我們就禮貌地說再見。
return; // 這個return就是離開Main方法,結束程式的意思。
default: // 如果使用者輸入了奇怪的東西...
Console.WriteLine("無效的選擇,請重新輸入!"); // ...我們就提醒他們好好選。
break;
}
}
}
// 下面是兩個幫手方法,一個負責寫,一個負責讀。
// 這個方法就像是你的私人秘書,幫你把想法記錄下來。
static void WriteToFile()
{
Console.WriteLine("請輸入要儲存的文字:"); // 先告訴使用者該幹嘛。
string content = Console.ReadLine(); // 然後安靜地聽使用者說什麼,並記下來。
// 使用StreamWriter,就像是開啟了一個新筆記本準備寫字。
using (StreamWriter writer = new StreamWriter("textrecord.txt", true))
{
// 把使用者說的話一行行寫進筆記本里。
writer.WriteLine(content);
Console.WriteLine("文字已儲存!"); // 寫完之後告訴使用者一聲。
}
}
// 這個方法則是你的好奇寶寶朋友,幫你找出筆記本里寫了啥。
static void ReadFromFile()
{
// 先看看筆記本在不在。
if (File.Exists("textrecord.txt"))
{
Console.WriteLine("檔案內容如下:"); // 如果在,就告訴使用者準備好了。
// 使用StreamReader開啟筆記本,一頁頁翻給你看。
using (StreamReader reader = new StreamReader("textrecord.txt"))
{
string line;
// 一行行讀,讀到哪行就讀哪行。
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line); // 把讀到的內容念給使用者聽。
}
}
}
else
{
// 如果筆記本不見了(檔案不存在),就告訴使用者這個悲傷的訊息。
Console.WriteLine("檔案不存在!");
}
}
}
解釋
Main
方法中,我們建立了一個無限迴圈,讓使用者不斷選擇操作,直到選擇退出。WriteToFile
方法會提示使用者輸入文字,然後使用StreamWriter
將文字追加到名為"textrecord.txt"的檔案中。ReadFromFile
方法會檢查"textrecord.txt"是否存在,如果存在則使用StreamReader
逐行讀取並列印到控制檯;如果不存在,則告知使用者檔案不存在。
第四步:執行程式
現在,你可以按下F5或點選執行按鈕來啟動程式,根據提示進行操作,體驗文字的讀寫過程。
這個小專案不僅幫助你掌握了C#中的控制檯應用開發、檔案操作、使用者輸入輸出處理等基礎知識,還為你進一步探索C#程式設計世界奠定了基礎。