80.Dictionary 字典 C#例子

使用 C# 中的?Dictionary?數據結構

在 C# 中,Dictionary<TKey, TValue> 是一個非常強大的數據結構,用于存儲鍵值對。它提供了高效的查找、插入和刪除操作,適用于需要快速訪問數據的場景。本文將通過一個簡單的示例,介紹如何使用 Dictionary 來進行常見的操作。

創建和初始化字典

Dictionary 是一個泛型集合,需要指定鍵和值的類型。以下代碼展示了如何創建一個 Dictionary<int, int> 并添加鍵值對:

// 創建一個新的 Dictionary<int, int> 實例
Dictionary<int, int> keyValues = new Dictionary<int, int>();// 添加鍵值對到字典中
keyValues.Add(0, 100);
keyValues.Add(1, 200);
keyValues.Add(2, 300);
訪問和檢查字典

通過鍵可以快速訪問字典中的值,同時也可以檢查字典是否包含某個鍵或值:

// 通過鍵來訪問值
int value = keyValues[2]; // 獲取鍵為 2 的值// 檢查字典中是否包含某個鍵
bool containKey = keyValues.ContainsKey(3); // 返回 false// 檢查字典中是否包含某個值
bool containValue = keyValues.ContainsValue(100); // 返回 true
更新和刪除鍵值對

字典中的值可以通過鍵直接更新,也可以通過鍵刪除某個鍵值對:

// 更新字典中某個鍵對應的值
keyValues[1] = 10; // 將鍵為 1 的值更新為 10// 移除字典中的某個鍵值對
keyValues.Remove(2); // 移除鍵為 2 的鍵值對
遍歷字典

Dictionary 提供了多種遍歷方式,包括遍歷鍵值對、鍵集合或值集合:

// 遍歷字典中的所有鍵值對
foreach (KeyValuePair<int, int> kvp in keyValues)
{Console.WriteLine($"Key={kvp.Key}, Value={kvp.Value}");
}// 或者只遍歷鍵或值
foreach (int key in keyValues.Keys)
{Console.WriteLine($"Key={key}");
}foreach (int value in keyValues.Values)
{Console.WriteLine($"Value={value}");
}
其他常用操作
  • 檢查字典是否為空:通過檢查 Count 屬性是否為 0 來判斷字典是否為空。

  • 獲取字典中元素的數量:通過 Count 屬性獲取字典中的鍵值對數量。

// 檢查字典是否為空
bool isEmpty = keyValues.Count == 0; // 返回 false// 獲取字典中元素的數量
int count = keyValues.Count; // 返回 2
示例代碼完整版

以下是完整的代碼示例,展示了上述所有操作:

using System;
using System.Collections.Generic;class Program
{static void Main(){// 創建一個新的 Dictionary<int, int> 實例Dictionary<int, int> keyValues = new Dictionary<int, int>();// 添加鍵值對到字典中keyValues.Add(0, 100);keyValues.Add(1, 200);keyValues.Add(2, 300);// 通過鍵來訪問值int value = keyValues[2];// 檢查字典中是否包含某個鍵/某個值bool containKey = keyValues.ContainsKey(3);bool containValue = keyValues.ContainsValue(100);// 更新字典中某個鍵對應的值keyValues[1] = 10;// 移除字典中的某個鍵值對keyValues.Remove(2);// 遍歷字典中的所有鍵值對foreach (KeyValuePair<int, int> kvp in keyValues){Console.WriteLine($"Key={kvp.Key}, Value={kvp.Value}");}// 或者只遍歷鍵或值foreach (int key in keyValues.Keys){Console.WriteLine($"Key={key}");}foreach (int value in keyValues.Values){Console.WriteLine($"Value={value}");}// 檢查字典是否為空bool isEmpty = keyValues.Count == 0;// 獲取字典中元素的數量int count = keyValues.Count;Console.ReadKey();}
}

通過以上代碼,你可以快速掌握 Dictionary 的基本操作,從而在實際開發中高效地使用這一數據結構。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73302.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73302.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73302.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

tomcat負載均衡配置

這里拿Nginx和之前做的Tomcat 多實例來實現tomcat負載均衡 1.準備多實例與nginx tomcat單機多實例部署-CSDN博客 2.配置nginx做負載均衡 upstream tomcat{ server 192.168.60.11:8081; server 192.168.60.11:8082; server 192.168.60.11:8083; } ser…

C語言中scanf(“%c“,s)會出現的問題

scanf("%c%c", &word[0], &word[1]);的行為與輸入緩沖區的內容密切相關。你提到輸入ab后&#xff0c;word[0]是\n&#xff0c;這通常是因為輸入緩沖區中殘留了換行符&#xff08;\n&#xff09;。 一、原因分析 換行符殘留 若在輸入ab之前有其他輸入操作&a…

SealOS部署k8s集群(單節點)

一、 先決條件 每個集群節點應該有不同的主機名。需要在 K8s 集群的第一個 master 節點上運行 sealos run 命令。建議使用干凈的操作系統來創建集群。不要自己裝 Docker&#xff01;支持大多數 Linux發行版&#xff0c;但內核版本建議5以上。例如&#xff1a;Ubuntu、CentOS、…

Linux 服務器安全配置:密碼復雜度與登錄超時設置

Linux服務器安全配置指南:密碼復雜度與登錄超時設置 一、密碼復雜度設置 通過PAM模塊pam_cracklib.so實現密碼強度策略,配置文件: system-auth該文件主要用于定義系統范圍內的認證策略,涵蓋了用戶登錄、su 命令切換用戶、sudo 權限提升等多種認證場景。當用戶嘗試進行系…

AI Agent開發框架分析:前端視角

1. Mastra (https://mastra.ai/docs) 優點&#xff1a; 提供直觀的界面構建器&#xff0c;適合無代碼/低代碼開發支持JavaScript/TypeScript&#xff0c;可直接集成到前端項目可視化工作流設計&#xff0c;降低入門門檻內置多種UI組件&#xff0c;加速前端開發 缺點&#xf…

linux上使用unsloth微調大模型的環境踩坑之路-4070ti、4090

我們實驗室有2套環境 一套&#xff1a;4070ti。安裝了cuda12.4 一套&#xff1a;3張4090.安裝了cuda12.4 現在開始給第一套裝能運行unsloth能運行的環境 第一步&#xff1a;開始創建虛擬環境 conda create -n test_env python3.11 第二步&#xff1a;進入虛擬環境 conda activa…

網絡安全演練有哪些形式

OPENVAS使用 1、確定指定IP是否能ping通 2、創建掃描目標 3、創建掃描任務&#xff08;scan management →newtask&#xff09; 4、開始任務start 5、查看掃描細節 6、查看掃描結果&#xff0c;包含漏洞詳細信息&#xff0c;亦可到處PDF文件 7、導出掃描結果報告 8、為…

ConcurrentModificationException:檢測到并發修改完美解決方法

&#x1f6a6; ConcurrentModificationException&#xff1a;檢測到并發修改完美解決方法 &#x1f4a1; 摘要 1. 什么是ConcurrentModificationException&#xff1f;&#x1f914; 2. ConcurrentModificationException的常見場景 &#x1f6a6; 2.1 使用for-each循環遍歷集合…

電路原理(電容 集成電路NE555)

電容 1.特性&#xff1a;充放電&#xff0c;隔直流&#xff0c;通交流 2.電容是通過聚集正負電荷來存儲電能的 3.電容充放電過程可等效為導通回路 4.多電容并聯可以把容量疊加&#xff0c;但是多電容串聯就不會&#xff0c;只會疊加電容的耐壓值。 6.電容充放電時相當于通路&a…

深入解析 React 最新特性:革新、應用與最佳實踐

深入解析 React 最新特性&#xff1a;革新、應用與最佳實踐 1. 引言 React 作為前端開發的核心技術之一&#xff0c;近年來不斷推出 新的 API 和優化機制&#xff0c;從 Concurrent Rendering&#xff08;并發模式&#xff09; 到 Server Components&#xff08;服務器組件&a…

【氮化鎵】高輸入功率應力誘導的GaN 在下的退化LNA退化

2019年,中國工程物理研究院電子工程研究所的Tong等人基于實驗與第一性原理計算方法,研究了Ka波段GaN低噪聲放大器(LNA)在高輸入功率應力下的退化機制。實驗結果表明,在27 GHz下施加1 W連續波(CW)輸入功率應力后,LNA的增益下降約1 dB,噪聲系數(NF)增加約0.7 dB。進一…

C#程序員接口調用工具與方法

作為專注于接口調用的C#軟件工程師&#xff0c;以下工具和方法能顯著提升開發效率與代碼質量&#xff1a; 一、接口開發與測試自動化工具 1. API測試與Mock工具 Postman Newman 支持RESTful/GraphQL接口調試與自動化測試&#xff0c;通過集合&#xff08;Collection&#xf…

Spring Boot項目中集成sa-token實現認證授權和OAuth 2.0第三方登錄

OAuth 2.0第三方登錄 OAuth 2.0 是一種授權協議&#xff0c;允許第三方應用在不暴露用戶密碼的情況下訪問用戶的資源。它通常用于第三方登錄場景&#xff0c;例如使用GitHub、Google等社交平臺進行登錄。 在sa-token框架中&#xff0c;OAuth 2.0第三方登錄可以通過集成sa-tok…

數字化新零售與 AI 大模型,如何重塑大健康賽道??

在數字化浪潮中&#xff0c;大健康賽道正經歷深刻變革。數字化新零售營銷模式的興起&#xff0c;與 AI 大模型的強大能力相結合&#xff0c;為大健康領域帶來了全新的發展機遇。 數字化新零售營銷模式融合線上線下&#xff0c;運用大數據、云計算分析消費者行為&#xff0c;實…

高速PCB設計(布線設計)

以下是針對高速PCB布線設計的綜合筆記&#xff0c;結合用戶提供的設計規范及行業通用原則整理而成&#xff1a; 一、關鍵信號布線原則 布線優先級 順序&#xff1a;射頻信號&#xff1e;中/低頻信號&#xff1e;時鐘信號&#xff1e;高速信號射頻信號需包地處理&#xff0c;線…

宇樹ROS1開源模型在ROS2中Gazebo中仿真

以GO1為例 1. CMakelists.txt更新語法 cmake_minimum_required(VERSION 3.8) project(go1_description) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")add_compile_options(-Wall -Wextra -Wpedantic) endif() # find dependencies find…

嵌入式學習第二十四天--網絡 服務器

服務器模型 tcp服務器: socket bind listen accept recv/send close 1.支持多客戶端訪問 //單循環服務器 socket bind listen while(1) { accept while(1) { recv/send } } close 2.支持多客戶端同時訪問 (并發能力) 并發服務器 socket bind …

使用GPTQ量化Llama-3-8B大模型

使用GPTQ量化8B生成式語言模型 服務器配置&#xff1a;4*3090 描述&#xff1a;使用四張3090&#xff0c;分別進行單卡量化&#xff0c;多卡量化。并使用SGLang部署量化后的模型&#xff0c;使用GPTQ量化 原來的模型精度為FP16&#xff0c;量化為4bit 首先下載gptqmodel量化…

防汛應急包,快速響應,守護安全

根據中國水利部統計&#xff0c;自1949年以來&#xff0c;我國幾乎每年都面臨洪水威脅&#xff0c;其中20世紀90年代后洪澇災害頻率顯著增加&#xff0c;僅1990-2009年間就發生超4000起較大災害&#xff0c;直接經濟損失近3萬億元&#xff0c;受災人口達20億人次。在2020年長江…

從 Vue 到 React:理解作用與副作用

作用 VS 副作用 響應式作用&#xff1a; 響應式作用是 Vue 響應式系統的一部分&#xff0c;它指的是跟蹤函數的依賴關系&#xff0c;并在它們的值發生變化時重新運行該函數的過程。watchEffect 是最直接的創建作用的方式&#xff08;如 watch 和 computed&#xff09;。 副作…