C 實現Dictionary字典賦值的方法

2022-09-26 01:12:11 字數 789 閱讀 5696

dictionary 類,表示鍵和值的集合。

dictionary 泛型類提供一組鍵到一組值的對映。 每次對字典的新增都包含乙個值和與其關聯的鍵。 使用其鍵檢索值的速度非常快。

之前使用dictionary,也沒遇到什麼問題,感覺很方便,通過鍵值對的形式進行新建 – 儲存 – 校驗key/value是否存在 – 讀取 – 修改/移除維護,一切正常。 近期取犯了乙個不應該犯的錯 – 賦值。

class program

foreach (var item in dic2.keys)}}

這種賦值的方式是直接將dic2指向了dic1的記憶體位址,其實就是乙個人,叫兩個名字而已qeutcukhts,所以這時不管你叫誰他都有反應, 即對dic1和dic2進行的所有操作都是乙個記憶體位址進行修改,也就是說對dic1修改就是對dic2修改。

對於這種概念,我們最初學習引用型別的時候就已經有過接觸了,所以說,大家也基本不會犯這樣的錯誤。

需要注意的是,當我們使用dic作為引數的時候,對它遍歷時,盡量不要在外部對它進行新增/刪除元素,否則可能會遇到這錯:unity 報錯 之 invalidoperationexception: out of sync。

還有一種情況就是,當我們需要多個操作校驗的時候,有多個方法同時執行,對這個dic進行操作,也會產生問題。

那麼,問題來了,想像值型別那麼賦值該怎麼寫呢?

class program

foreach (var item in dic4.keys)}}

這樣的話就可以只是用diction程式設計客棧ary的值,新開闢了一塊記憶體位址,而不會對它本身有影響。

C 字典 Dictionary 用法

dictionary提供快速的基於鍵值的元素查詢。結構是 dictionary 當你有很多元素的時候可以用它。它包含在system.collections.generic名控制項中。在使用前,你必須宣告它的鍵型別和值型別。1 using system 2 using system.collectio...

C 字典 Dictionary 用法

dictionary提供快速的基於鍵值的元素查詢。結構是 dictionary key value 當你有很多元素的時候可以用它。它包含在system.collections.generic名控制項中。在使用前,你必須宣告它的鍵型別和值型別。using system using system.col...

C 字典(Dictionary)的使用

private dictionarypanelcach new dictionary private nbasepanel getpanel uipaneltype paneltype 例項化面板預製物 instpanel gameobject.instantiate resources.load ...