最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中的 Dictionary常用操作

 更新時(shí)間:2025年03月06日 08:47:36   作者:追逐時(shí)光者  
C#中的Dictionary<TKey,TValue>是用于存儲鍵值對集合的泛型類,允許通過鍵快速檢索值,并且具有唯一鍵、動(dòng)態(tài)大小和無序集合的特性,常用操作包括添加、訪問、修改、刪除元素,以及檢查鍵或值是否存在,本文介紹C#中的 Dictionary常用操作,感興趣的朋友一起看看吧

基本概念

Dictionary<TKey, TValue>是C#中用于存儲鍵值對集合的泛型類,屬于System.Collections.Generic命名空間。它允許使用鍵(Key)來訪問與其關(guān)聯(lián)的值(Value)。其中,TKey表示字典中鍵的類型,TValue表示字典中值的類型。

Dictionary的基本結(jié)構(gòu)

  • 鍵(Key):唯一標(biāo)識集合中的一個(gè)元素。鍵是唯一的,不能有重復(fù)。
  • 值(Value):與鍵相關(guān)聯(lián)的數(shù)據(jù)。值可以是任意類型,并且可以有重復(fù)。
  • 鍵值對(KeyValuePair):鍵和值的組合,表示Dictionary中的一個(gè)元素。

Dictionary的主要特性

  • 快速訪問:通過鍵可以快速檢索到對應(yīng)的值,平均時(shí)間復(fù)雜度接近O(1),因?yàn)?code>Dictionary<TKey,TValue>類是作為哈希表實(shí)現(xiàn)。
  • 唯一鍵(Key):每個(gè)鍵在Dictionary中都是唯一的,不能重復(fù)。
  • 動(dòng)態(tài)大小:Dictionary的大小可以動(dòng)態(tài)調(diào)整,當(dāng)元素?cái)?shù)量超過容量時(shí),它會自動(dòng)擴(kuò)容。
  • 無序集合:Dictionary中的元素是無序的,不能通過索引來訪問它們。

Dictionary的常用操作

以下是C#中Dictionary的常用操作完整代碼,其中包括添加元素、訪問元素、修改元素、刪除元素、檢查鍵或值是否存在,以及遍歷元素:

public static void DictionaryOperation()
{
    //創(chuàng)建一個(gè)Dictionary來存儲學(xué)生學(xué)號ID和姓名
    Dictionary<int, string> studentDic = new Dictionary<int, string>();
    #region 添加元素
    // Add方法(鍵必須唯一)
    studentDic.Add(1, "大姚");
    studentDic.Add(2, "小袁");
    studentDic.Add(3, "Edwin");
    // 索引器語法(鍵不存在時(shí)添加,存在時(shí)更新)
    studentDic[4] = "Charlie";
    studentDic[5] = "追逐時(shí)光者";
    // 安全添加(避免異常)
    bool isAdded = studentDic.TryAdd(6, "小明"); // 返回 false,因鍵已存在
    #endregion
    #region 訪問元素
    // 直接訪問(鍵必須存在,否則會有異常)
    var currentUserName = studentDic[1];
    Console.WriteLine($"當(dāng)前學(xué)生姓名: {currentUserName}");
    // 安全訪問(避免異常)
    if (studentDic.TryGetValue(5, outvar getUserName))
    {
        Console.WriteLine($"UserName:{getUserName}");
    }
    else
    {
        Console.WriteLine("當(dāng)前學(xué)生ID不存在");
    }
    #endregion
    #region
    // 修改元素
    studentDic[2] = "大西瓜";
    Console.WriteLine($"修改后的名稱:{studentDic[2]}");
    #endregion
    #region 刪除元素
    // 刪除元素
    bool isRemoved = studentDic.Remove(3);
    Console.WriteLine($"刪除結(jié)果:{isRemoved}");
    #endregion
    #region 檢查鍵或值是否存在
    // 檢查鍵是否存在
    if (studentDic.ContainsKey(1))
    {
        Console.WriteLine("存在");
    }
    else
    {
        Console.WriteLine("不存在");
    }
    bool isExistcontainsValue = studentDic.ContainsValue("追逐時(shí)光者");
    Console.WriteLine($"是否存在:{isExistcontainsValue}");
    #endregion
    #region 遍歷元素
    // 遍歷元素
    foreach (KeyValuePair<int, string> student in studentDic)
    {
        Console.WriteLine($"ID: {student.Key}, Name: {student.Value}");
    }
    // 使用鍵的枚舉器
    foreach (var key in studentDic.Keys)
    {
        Console.WriteLine($"Key: {key}, Value: {studentDic[key]}");
    }
    // 使用值的枚舉器
    foreach (varvaluein studentDic.Values)
    {
        // 注意:這種方式不能直接獲取鍵,只能獲取值
        Console.WriteLine($"Value: {value}");
    }
    #endregion
}

參考文章

到此這篇關(guān)于C#中的 Dictionary常用操作的文章就介紹到這了,更多相關(guān)C# Dictionary內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c#通過app.manifest使程序以管理員身份運(yùn)行

    c#通過app.manifest使程序以管理員身份運(yùn)行

    通常我們使用c#編寫的程序不會彈出這個(gè)提示,也就無法以管理員身分運(yùn)行。微軟的操作系統(tǒng)使用微軟的產(chǎn)品方法當(dāng)然是有的,通過app.manifest配置可以使程序打開的時(shí)候,彈出UAC提示需要得到允許才可以繼續(xù),這樣就獲得了管理員的權(quán)限來執(zhí)行程序
    2015-01-01
  • httpwebreqeust讀取httponly的cookie方法

    httpwebreqeust讀取httponly的cookie方法

    下面小編就為大家?guī)硪黄猦ttpwebreqeust讀取httponly的cookie方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • C#實(shí)現(xiàn)HTML和UBB互相轉(zhuǎn)換的方法

    C#實(shí)現(xiàn)HTML和UBB互相轉(zhuǎn)換的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)HTML和UBB互相轉(zhuǎn)換的方法,通過兩個(gè)自定義函數(shù)DoHtmlToUB與ubbtohtml來實(shí)現(xiàn)HTML代碼與ubb代碼間的相互轉(zhuǎn)換,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • C# WebApi 路由機(jī)制剖析

    C# WebApi 路由機(jī)制剖析

    這篇文章主要介紹了C# WebApi 路由機(jī)制剖析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • C#在窗體中設(shè)計(jì)滾動(dòng)字幕的方法

    C#在窗體中設(shè)計(jì)滾動(dòng)字幕的方法

    普通窗體中的文字位置都是固定的,但在一些窗體中需要讓文字動(dòng)起來,如一些廣告性較強(qiáng)的界面中需要做一些滾動(dòng)的字幕,所以本文給大家介紹了C#在窗體中設(shè)計(jì)滾動(dòng)字幕的方法,需要的朋友可以參考下
    2024-04-04
  • .NET操作NPOI實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出

    .NET操作NPOI實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出

    NPOI是指構(gòu)建在POI 3.x版本之上的一個(gè)程序,NPOI可以在沒有安裝Office的情況下對Word或Excel文檔進(jìn)行讀寫操作,下面小編為大家介紹了如何操作NPOI實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出,需要的可以參考一下
    2023-09-09
  • 淺談C#設(shè)計(jì)模式之開放封閉原則

    淺談C#設(shè)計(jì)模式之開放封閉原則

    這篇文章主要介紹了淺談C#設(shè)計(jì)模式之開放封閉原則,需要的朋友可以參考下
    2014-12-12
  • C#?TrackBar拖動(dòng)條改變滑塊顏色

    C#?TrackBar拖動(dòng)條改變滑塊顏色

    這篇文章主要為大家詳細(xì)介紹了C#?TrackBar拖動(dòng)條改變滑塊顏色,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法

    C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法

    某論壇的評論區(qū)模塊,發(fā)現(xiàn)這功能很不錯(cuò),琢磨了一晚上做了大致一樣的,用來當(dāng)做 注冊模塊 的頭像綁定功能,下面通過實(shí)例代碼給大家介紹下C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法,感興趣的朋友一起看看吧
    2021-11-11
  • C#實(shí)現(xiàn)ComboBox自動(dòng)匹配字符

    C#實(shí)現(xiàn)ComboBox自動(dòng)匹配字符

    本文介紹C#如何實(shí)現(xiàn)ComboBox自動(dòng)匹配字符1.采用CustomSource當(dāng)做提示集合2. 直接使用下拉列表中的項(xiàng)作為匹配的集合,需要了解的朋友可以參考下
    2012-12-12

最新評論

安化县| 五常市| 黄大仙区| 苍梧县| 绿春县| 奉化市| 宁国市| 阳泉市| 南江县| 淳化县| 龙州县| 花莲市| 开平市| 西藏| 四子王旗| 淮阳县| 芒康县| 英吉沙县| 泾阳县| 明光市| 武强县| 正安县| 城固县| 张家口市| 兴化市| 阿拉善左旗| 卢湾区| 嘉义市| 西乡县| 梨树县| 庆云县| 根河市| 白河县| 徐汇区| 永顺县| 宜君县| 乡宁县| 浠水县| 大渡口区| 峨山| 来安县|