C# 集合:初學者指南

你好,未來的編程者們!今天,我們將踏上一段令人興奮的旅程,進入 C# 集合的世界。別擔心你對編程還是新手——我會成為你的友好導遊,一步步解釋所有內容。讓我們一起來看看吧!

C# - Collections

什麼是集合?

想像你正在籌備一個派對,並需要記錄所有的來賓。你可以將每個名字寫在張紙上,但這會很亂而且效率低下。相反,你會使用客人名單。在 C# 中,集合就像那個客人名單一樣——它們幫助我們組織和管理相關對象的群組。

為什麼使用集合?

集合非常有用,因為它們讓我們能夠:

  1. 在單一變量中存儲多個項目
  2. 輕鬆地添加或刪除項目
  3. 搜尋和排序我們的數據
  4. 在數據群組上執行操作

現在,讓我們看看 C# 中一些最常見的集合類型。

列表:你的靈活朋友

什麼是列表?

列表就像一個可動態增長或縮小的數組。當你不知道確切需要存儲多少項目時,它非常完美。

如何使用列表

讓我們創建一個我們喜歡的水果列表:

List<string> fruits = new List<string>();
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Cherry");

Console.WriteLine($"我們有 {fruits.Count} 個水果。");
Console.WriteLine($"第二個水果是 {fruits[1]}。");

在這個例子中,我們:

  1. 創建一個新的字符串列表
  2. 向我們的列表中添加三種水果
  3. 使用 Count 屬性打印水果數量
  4. 使用索引訪問第二個水果(記住,索引從 0 開始!)

輸出:

我們有 3 個水果。
第二個水果是 Banana。

字典:你的成功之鍵

什麼是字典?

字典就像現實世界中的字典一樣——它存儲鍵值對。每個鍵必須是唯一的,就像字典中的每個單詞都有它自己的定義。

使用字典

讓我們創建一個水果顏色的字典:

Dictionary<string, string> fruitColors = new Dictionary<string, string>();
fruitColors.Add("Apple", "Red");
fruitColors.Add("Banana", "Yellow");
fruitColors.Add("Grape", "Purple");

Console.WriteLine($"一個蘋果是 {fruitColors["Apple"]} 的。");

if (fruitColors.ContainsKey("Cherry"))
{
Console.WriteLine($"一個櫻桃是 {fruitColors["Cherry"]} 的。");
}
else
{
Console.WriteLine("我們不知道櫻桃的顏色。");
}

在這裡,我們:

  1. 創建一個具有字符串鍵和字符串值的字典
  2. 添加三對水果顏色
  3. 使用水果鍵訪問顏色
  4. 在嘗試訪問其值之前,檢查鍵是否存在

輸出:

一個蘋果是 Red 的。
我們不知道櫻桃的顏色。

队列:先來先服務

什麼是队列?

队列就像超市中的排隊——排在前面的人會先被服務。在編程術語中,它是一個“先進先出”(FIFO)數據結構。

队列操作

讓我們模擬一個簡單的打印队列:

Queue<string> printQueue = new Queue<string>();
printQueue.Enqueue("Report.doc");
printQueue.Enqueue("Picture.jpg");
printQueue.Enqueue("Spreadsheet.xlsx");

Console.WriteLine($"隊列中的項目:{printQueue.Count}");
Console.WriteLine($"打印:{printQueue.Dequeue()}");
Console.WriteLine($"下一個:{printQueue.Peek()}");
Console.WriteLine($"剩餘項目:{printQueue.Count}");

在這個例子中,我們:

  1. 創建一個字符串队列
  2. 向隊列中添加(Enqueue)三個項目
  3. 移除(Dequeue)第一個項目
  4. 檢視(Peek)而不移除下一個項目

輸出:

隊列中的項目:3
打印:Report.doc
下一個:Picture.jpg
剩餘項目:2

栈:後進先出

什麼是栈?

栈就像一疊盤子——你從頂部添加並從頂部取出。它是一個“後進先出”(LIFO)數據結構。

總結

恭喜你!你剛剛踏出了進入 C# 集合世界的第一步。記住,每種集合類型都有其優勢,選擇正確的集合可以使你的代碼更高效且更易於閱讀。

在你繼續編程旅程的過程中,你會發現更多使用這些集合的方法。不要害怕嘗試——這是我們所有人學習和成長為開發者的方式。

編程愉快,願你的集合總是井然有序!



這個翻譯保留了原文的含義、語氣和细微差別,並在繁體中文中使用正確的語法、拼寫和標點符號。

Credits: Image by storyset