国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#“字典”Dictionary的用法

這篇具有很好參考價值的文章主要介紹了C#“字典”Dictionary的用法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

C#中的Dictionary是一種特殊的數(shù)據(jù)集合。因為它由鍵值,和數(shù)值組成,并且一一對應,通過鍵值我們就可以查詢到對應的數(shù)值,就好像查字典一樣,故而我們會形象地稱呼它為“字典”。據(jù)于它們這種特殊地結構,C#定義了它很多地屬性與方法,在實際應用中非常實用。

一、結構

Dictionary的結構是這樣的:Dictionary<[key],[value]>,所引用的命名空間是:System.Collections.Generic。

二、定義

關于Dictionary的定義,它必須遵循一下規(guī)則:

1、鍵值(key)與(value),一一映射,共同關聯(lián)組成一個鍵值對

2、任何的鍵都是唯一的

3、鍵不能為空(若值為引用類型,則可以為空)

4、key和value可以是任意類型

三、創(chuàng)建與初始化

Dictionary<[key],[value]> mDic = new Dictionary<[key],[value]>();

例:Dictionary<int,int> mDic = new Dictionary<int,int>();

四、使用技巧

1、添加元素:Add

例:

mDic.Add(1,1);

mDic.Add(2,1);

mDic.Add(3,2);

2、刪除元素:Remove

例:

mDic.Remove(1);  //移除指定鍵的鍵值

3、查詢字典中是否包含指定的鍵:ContainsKey

例:

if(mDic.ContainsKey(1))? //先判斷是否存在這樣的鍵
{? ? ? ?
  ?Console.WriteLine(“字典中含有這個鍵”);
}

4、通過key獲取對應的值:Dictionary[key]

例:

if(mDic.ContainsKey(1))? //先判斷是否存在這樣的鍵
{? ? ? ?
  ?Console.WriteLine(mDic[1]);
}

5、遍歷鍵值對:KeyValuePair

例:

foreach(KeyValuePair<int,int> temp in mDic)
{
   Console.WriteLine("Key = {0}, Value = {1}",temp.Key, temp.Value);
}

6、遍歷所有鍵與所有鍵值:Keys(Dictionary<T,T>.KeyCollection),Values(Dictionary<T,T>.ValueCollection)

foreach(var key in mDic.Keys)
{
   Console.WriteLine(key);  //獲取所有鍵
}
foreach(var value in mDic.Values)
{
   Console.WriteLine(value); //獲取所有鍵值
}

7、獲取與指定的鍵相關聯(lián)的值:?public bool TryGetValue(TKey key, out TValue value);

例:

int val = null;
mDic.TyrGetValue(1,out val);
Console.WriteLine(val);

8、對Dictionary進行排序的一個方法

例:

mDic.Add(1,1);
mDic.Add(3,3);
mDic.Add(5,5);
mDic.Add(6,6);
mDic.Add(4,4);
mDic.Add(2,2);
var result = from pair in mDic orderby pair.Key select pair;

foreach (KeyValuePair<int, int> pair in result)
{
  Console.WriteLine("Key:{0}, Value:{1}", pair.Key, pair.Value);
}

//Key:1, Value:1
//Key:2, Value:2
//Key:3, Value:3
//Key:4, Value:4
//Key:5, Value:5
//Key:6, Value:6

9、對Dictionary求交集、差集、并集

例:

Dictionary<int, int> Dic1 = new Dictionary<int, int>();
for (int i = 0; i < 10; i++)
{
  Dic1.Add(i, i);
}

Dictionary<int, int> Dic2 = new Dictionary<int, int>();
for (int i = 5; i < 15; i++)
{
  Dic2.Add(i, i);
}

//求交集

var jj = Dic1.Keys.Intersect(Dic2.Keys);
foreach (var i in jj)
{
   Console.Write(i + " ");
}

//求差集
var cj = Dic1.Keys.Except(Dic2.Keys);

foreach (var i in cj)
{
   Console.Write(i + " ");
}

//求并集
var bj = Dic1.Keys.Union(Dic2.Keys);

foreach (var i in bj)
{
   Console.Write(i + " ");
}

五、其它常用屬性與方法的說明

Comparer:?????????? 獲取用于確定字典中的鍵是否相等的 IEqualityComparer。

? Count:????????????????? 獲取包含在 Dictionary中的鍵/值對的數(shù)目。

? Item:??????????????????? 獲取或設置與指定的鍵相關聯(lián)的值。

??Keys:?????????????????? 獲取包含 Dictionary中的鍵的集合。

? Values:??????????????? 獲取包含 Dictionary中的值的集合。

? Add:??????????????????? 將指定的鍵和值添加到字典中。

? Clear:????????? ?????? ?從 Dictionary中移除所有的鍵和值。

? ContainsKey:????? 確定 Dictionary是否包含指定的鍵。

? ContainsValue:?? 確定 Dictionary是否包含特定值。?????????????

??GetEnumerator:? 返回循環(huán)訪問 Dictionary的枚舉數(shù)。

? GetType:?????????????獲取當前實例的 Type。 (從 Object 繼承。)

? Remove:?????????????從 Dictionary中移除所指定的鍵的值。

? ToString:?????????????返回表示當前 Object的 String。 (從 Object 繼承。)

? TryGetValue:????? 獲取與指定的鍵相關聯(lián)的值。文章來源地址http://www.zghlxwxcb.cn/news/detail-546830.html

到了這里,關于C#“字典”Dictionary的用法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • C# Dictionary中GetEnumerator()方法

    Dictionarystring, string 中的 GetEnumerator() 方法是用于遍歷字典中的鍵值對。它會返回一個 IEnumeratorstring 對象,該對象可以用于按照鍵的順序迭代字典中的所有鍵值對。 具體來說, GetEnumerator() 方法會返回一個 IEnumeratorstring 對象,該對象包含了三個屬性: Current :當前迭代到的鍵

    2024年02月12日
    瀏覽(21)
  • C#監(jiān)聽Dictionary、List的寫入操作

    在開發(fā)中,對于內置值類型和string我們可以通過封裝屬性在 Set 中監(jiān)聽寫入操作,但是對于 Dictionary 、 List 等就不能監(jiān)聽到 Add 、 Remove 等寫入操作。 所以一般采取兩種方式監(jiān)聽它們的讀寫操作,一種是封裝操作方法,間接進行監(jiān)聽,第二種就是重寫 Add 和 Remove 等方法。下面

    2024年01月17日
    瀏覽(46)
  • C#中的HashTable和Dictionary之間的區(qū)別

    C#中的HashTable和Dictionary之間的區(qū)別

    HashTable和Dictionary都是用于存儲數(shù)據(jù)的數(shù)據(jù)結構的類型。這兩個數(shù)據(jù)結構都將存儲的數(shù)據(jù)保存為鍵值對。

    2024年02月17日
    瀏覽(29)
  • C#中Dictionary與ConcurrentDictionary解鎖多線程操作安全之道

    C#中Dictionary與ConcurrentDictionary解鎖多線程操作安全之道

    ? 在C#中, Dictionary 是一個常見的字典類型,但它不是線程安全的。為了在多線程環(huán)境中確保安全的操作,我們可以使用 ConcurrentDictionary ,這是一個專門設計用于多線程場景的線程安全字典。 首先,我們來看一個使用普通的 Dictionary 的例子。在這個例子中,我們創(chuàng)建一個 D

    2024年01月22日
    瀏覽(19)
  • 無涯教程-Python - Dictionary(字典)

    每個鍵都由一個冒號(:)與其值分隔,各元素之間以逗號分隔,并且整個內容都用花括號括起來。一個沒有任何元素的空字典用兩個大括號書寫,如:{}。 鍵在字典中是唯一的,而值可能不是。字典的值可以是任何類型,但是鍵必須是不可變的數(shù)據(jù)類型,如字符串,數(shù)字或元組。

    2024年02月11日
    瀏覽(17)
  • Python零基礎超詳細教程:字典(Dictionary)相關介紹使用

    Python零基礎超詳細教程:字典(Dictionary)相關介紹使用

    前言 嗨嘍~大家好呀,這里是魔王吶 ? ~! Python字典是另一種可變容器模型, 且可存儲任意類型對象,如字符串、數(shù)字、元組等其他容器模型。 python更多源碼/資料/解答/教程等 點擊此處跳轉文末名片免費獲取 一、創(chuàng)建字典 字典由鍵和對應值成對組成。字典也被稱作關聯(lián)數(shù)組

    2024年02月10日
    瀏覽(27)
  • Python列表(list)、元組(tuple)和字典(dictionary)的區(qū)別

    Python列表(list)、元組(tuple)和字典(dictionary)的區(qū)別

    目錄 列表(list) ?訪問列表元素 ?更新和刪除列表元素 元組(tuple) 元組的訪問、更新、刪除操作? 字典(dictionary)? 創(chuàng)建空字典 修改、刪除字典 總結 列表(list)、元組(tuple)和字典(dictionary)都是序列,序列都是由索引和元素組成。遍歷和訪問都按照如下格式: 具

    2023年04月13日
    瀏覽(22)
  • Redis從入門到精通【高階篇】之底層數(shù)據(jù)結構字典(Dictionary)詳解

    Redis從入門到精通【高階篇】之底層數(shù)據(jù)結構字典(Dictionary)詳解

    上個篇章回顧,我們上個章節(jié),講了Redis中的快表(QuickList),它是一種特殊的數(shù)據(jù)結構,用于存儲一系列的連續(xù)節(jié)點,每個節(jié)點可以是一個整數(shù)或一個字節(jié)數(shù)組??毂硎荝edis中的底層數(shù)據(jù)結構之一,常用于存儲有序集合(Sorted Set)等數(shù)據(jù)類型的底層實現(xiàn)。 那么本章講解Red

    2024年02月09日
    瀏覽(23)
  • 電子詞典dictionary

    電子詞典dictionary

    ? ? ?1.登錄注冊功能,不能重復登錄,重復注冊。用戶信息也存儲在數(shù)據(jù)庫中。 ? ? ?2.單詞查詢功能 ? ? ?3.歷史記錄功能,存儲單詞,意思,以及查詢時間,存儲在數(shù)據(jù)庫 ? ? ?4.基于TCP,支持多客戶端連接 ? ? ?5.采用數(shù)據(jù)庫保存用戶信息與歷史記錄 ? ? ?6.將dict.txt的數(shù)

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包