自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# “字典” Dictionary 的簡(jiǎn)單用法:輕松管理鍵值對(duì)

開發(fā) 前端
??Dictionary?? 是C#中一個(gè)非常有用的集合類型,它提供了快速查找和存儲(chǔ)鍵值對(duì)的能力。通過本文的介紹,相信你已經(jīng)掌握了 ??Dictionary?? 的基本用法,并能夠在你的項(xiàng)目中靈活運(yùn)用它。

在C#編程中,當(dāng)我們需要存儲(chǔ)和快速查找鍵值對(duì)(比如學(xué)生ID對(duì)應(yīng)學(xué)生姓名,或者商品編號(hào)對(duì)應(yīng)商品價(jià)格)時(shí),Dictionary 就成了我們的得力助手。它就像一本字典書,通過“鍵”可以快速找到對(duì)應(yīng)的“值”。今天,我們就來聊聊 Dictionary 的基本用法,讓你輕松上手。

初識(shí) Dictionary

Dictionary 是C#中的一個(gè)泛型集合,它存儲(chǔ)的是鍵值對(duì)(KeyValuePair<TKey, TValue>)。鍵(Key)是唯一的,用于標(biāo)識(shí)集合中的每個(gè)元素;值(Value)則與鍵相關(guān)聯(lián),可以是你想要存儲(chǔ)的任何類型的數(shù)據(jù)。

想象一下,你有一個(gè)學(xué)生信息表,每個(gè)學(xué)生的ID是唯一的,而姓名、年齡等信息則與這個(gè)ID相關(guān)聯(lián)。使用 Dictionary,你就可以通過學(xué)生的ID快速找到他們的信息,而不需要遍歷整個(gè)集合。

創(chuàng)建和使用 Dictionary

  1. 創(chuàng)建 Dictionary

要?jiǎng)?chuàng)建一個(gè) Dictionary,你需要指定鍵和值的類型。比如,如果你想要存儲(chǔ)學(xué)生ID(int類型)和姓名(string類型)的對(duì)應(yīng)關(guān)系,可以這樣寫:

Dictionary<int, string> studentDictionary = new Dictionary<int, string>();
  1. 添加元素

向 Dictionary 中添加元素非常簡(jiǎn)單,你可以使用 Add 方法,或者直接使用索引器:

studentDictionary.Add(1, "張三");
studentDictionary[2] = "李四";

注意,如果嘗試添加一個(gè)已經(jīng)存在的鍵,Add 方法會(huì)拋出一個(gè)異常。而使用索引器時(shí),如果鍵已存在,則會(huì)覆蓋原有的值。

  1. 訪問元素

通過鍵可以快速訪問 Dictionary 中的元素:

string studentName = studentDictionary[1]; // 得到 "張三"

如果嘗試訪問一個(gè)不存在的鍵,索引器會(huì)拋出一個(gè) KeyNotFoundException 異常。為了避免這種情況,你可以使用 TryGetValue 方法:

if (studentDictionary.TryGetValue(3, out string name))
{
    Console.WriteLine(name); // 如果鍵存在,則輸出對(duì)應(yīng)的值
}
else
{
    Console.WriteLine("鍵不存在");
}
  1. 遍歷 Dictionary

你可以使用 foreach 循環(huán)來遍歷 Dictionary 中的所有鍵值對(duì):

foreach (KeyValuePair<int, string> student in studentDictionary)
{
    Console.WriteLine($"ID: {student.Key}, 姓名: {student.Value}");
}

或者,如果你只關(guān)心鍵或值,可以使用 Keys 或 Values 屬性:

foreach (int id in studentDictionary.Keys)
{
    Console.WriteLine($"ID: {id}");
}

foreach (string name in studentDictionary.Values)
{
    Console.WriteLine($"姓名: {name}");
}
  1. 移除元素

你可以使用 Remove 方法來移除 Dictionary 中的元素:

studentDictionary.Remove(1); // 移除ID為1的學(xué)生信息

或者,如果你想清空整個(gè) Dictionary,可以使用 Clear 方法:

studentDictionary.Clear(); // 清空所有元素

注意事項(xiàng)

  • 鍵必須是唯一的,如果嘗試添加重復(fù)的鍵,會(huì)拋出異?;蚋采w原有值。
  • 訪問不存在的鍵時(shí),索引器會(huì)拋出異常,而 TryGetValue 方法則提供了一種更安全的訪問方式。
  • Dictionary 的性能依賴于哈希表的實(shí)現(xiàn),因此鍵的選擇對(duì)性能有很大影響。盡量避免使用復(fù)雜的對(duì)象作為鍵,因?yàn)樗鼈兛赡軐?dǎo)致哈希沖突和性能下降。

結(jié)語(yǔ)

Dictionary 是C#中一個(gè)非常有用的集合類型,它提供了快速查找和存儲(chǔ)鍵值對(duì)的能力。通過本文的介紹,相信你已經(jīng)掌握了 Dictionary 的基本用法,并能夠在你的項(xiàng)目中靈活運(yùn)用它。無論是管理學(xué)生信息、商品數(shù)據(jù),還是其他需要鍵值對(duì)存儲(chǔ)的場(chǎng)景,Dictionary 都將是你的得力助手。

責(zé)任編輯:武曉燕 來源: 程序員編程日記
相關(guān)推薦

2009-09-10 15:27:16

C# get set

2024-03-12 10:25:14

C#Dictionary編程語(yǔ)言

2013-06-05 09:37:09

WindumpWindump網(wǎng)絡(luò)命令

2009-12-14 13:27:06

Ruby區(qū)間

2014-06-19 10:43:37

AndroidScrollerView平滑滾動(dòng)

2015-07-28 10:06:03

C#內(nèi)部實(shí)現(xiàn)剖析

2010-08-17 10:39:39

DIVabsoluterelative

2010-01-12 10:29:41

Fedora apt軟

2009-08-28 15:49:45

C#對(duì)INI文件操作

2015-04-01 14:34:37

C#dynamicDictionary性

2009-08-24 18:15:24

C# Dictiona

2013-06-05 10:11:20

索引器C#

2009-07-24 15:46:00

ASP.NET登陸控件

2024-11-21 09:00:00

Python字典代碼

2011-05-23 13:27:53

2025-03-05 08:40:56

2024-12-26 14:48:46

C#Modbus通信

2009-09-07 16:13:56

C# MessageB

2009-08-31 14:45:10

C#擴(kuò)展方法

2009-08-20 17:17:02

C#哈希表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)