ConcurrentDictionary的ToDictionary

如果Value是引用,那么在使用Value.Clear()的時候。會清空Value的所有元素,但是不會改變Value的引用

 private static void Main(){try{var concurrentDictionary = new ConcurrentDictionary<string, List<int>>();concurrentDictionary.TryAdd("chuck", new List<int>() {1, 2, 3});concurrentDictionary.TryAdd("lihu", new List<int>() {4, 5, 6});var dictionary = concurrentDictionary.ToDictionary(x => x.Key, x => x.Value);foreach (var list in concurrentDictionary.Values){list.Clear();}foreach (var name in dictionary.Keys){Console.WriteLine(name);var list = dictionary[name];foreach (var number in list){Console.Write("\t{0}",number);}Console.WriteLine();}}catch (Exception ex){while (ex != null){Console.WriteLine(ex.Message);ex = ex.InnerException;}}Console.ReadLine();}

還需要測試下Value是List<Student>的情況?

?

?

internal class Student{internal int Id { get; set; }internal string Name { get; set; }}internal class Program{private static void Main(){try{var concurrentDictionary = new ConcurrentDictionary<string, Student>();concurrentDictionary.TryAdd("chuck", new Student() {Id = 1, Name = "chuck"});concurrentDictionary.TryAdd("lihu", new Student() {Id = 2, Name = "lihu"});var dictionary = concurrentDictionary.ToDictionary(x => x.Key, x => x.Value);foreach (var key in concurrentDictionary.Keys){concurrentDictionary[key].Id = 0;concurrentDictionary[key].Name = "hello world";}foreach (var name in dictionary.Keys){Console.Write(name);Console.Write("\tid={0}\tname={1}", dictionary[name].Id, dictionary[name].Name);Console.WriteLine();}}catch (Exception ex){while (ex != null){Console.WriteLine(ex.Message);ex = ex.InnerException;}}Console.ReadLine();}}

?

?

?

?

?

?Value是值類型的

 private static void Main(){try{var concurrentDictionary = new ConcurrentDictionary<string, int>();concurrentDictionary.TryAdd("chuck", 1);concurrentDictionary.TryAdd("lihu",4);var dictionary = concurrentDictionary.ToDictionary(x => x.Key, x => x.Value);foreach (var key in concurrentDictionary.Keys){concurrentDictionary[key] = 0;}foreach (var name in dictionary.Keys){Console.Write(name);Console.Write("\t{0}", dictionary[name]);Console.WriteLine();}}catch (Exception ex){while (ex != null){Console.WriteLine(ex.Message);ex = ex.InnerException;}}Console.ReadLine();}

?

轉載于:https://www.cnblogs.com/chucklu/p/4943173.html

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

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

相關文章

遠程連接mysql數據庫注意點記錄

一、如何新建獨立帳號并設置權限 這里我使用Navicat作為我的數據庫管理工具&#xff0c;打開Navicat。 選擇“用戶”--“新建用戶” 輸入用戶名、主機、密碼&#xff0c;需要注意的是&#xff0c;主機那不是寫“localhost”&#xff0c;而是寫“%” 然后可以設置“服務器權限”…

【域控管理】父域的搭建

從這篇博文開始&#xff0c;所有的域控系統都是在虛擬機中創建的。 在VM里安裝Windows Server 2008 R2的方法就不多說了&#xff0c;無腦式安裝&#xff0c;略過不提。 進到系統桌面&#xff0c;打開本地連接&#xff0c;設置網卡的IP地址&#xff0c;如下圖&#xff1a; 注意&…

ANSYS——網格劃分的不同方法以及GUI模塊的操作(自由網格、映射網格、掃掠、拖拉)

目錄 一、GUI操作模塊的解釋 二、不同的網格劃分方法和網格類型

tensorflow2 tensorboard可視化使用

tensorflow2自帶tensorboard&#xff0c;所以不必再自行安裝tensorboard。 一、使用環境 win10 x64&#xff1b; anaconda3tensorflow2&#xff08;cpu版本&#xff09; 二、使用 1.在模型訓練之前插入以下代碼 log_dir os.path.join(logs) #win10下的bug&#xff0c; if…

oracle字符亂碼的解決方法

原因分析&#xff1a; 客戶端字符集就是為了讓數據庫知道我們傳遞過去的字符是屬于哪種字符集&#xff0c;以便于Oracle在存儲字符時進行相應的編碼映射&#xff08;查看客戶端字符集通過查找注冊表中的NLS_LANG鍵&#xff09;。在客戶端查詢數據庫時顯示字符的時候我們使用的是…

[]End of 2017OI

今年大概到此為止了&#xff0c;現在這個算是做一個簡短的階段性總結吧 今年打的第一場大概是省賽&#xff0c;當時整個人處于&#xff08;迷茫&#xff0c;不知道選物理還是選信息備戰中考持續摸魚OI頹廢&#xff09;的狀態&#xff0c;KMP都不會導致簽到題都沒有分&#xff0…

Javascript閉包——懂不懂由你,反正我是懂了

摘要&#xff1a;“如果你不能向一個六歲的孩子解釋清楚&#xff0c;那么其實你自己根本就沒弄懂。”好吧&#xff0c;我試著向一個27歲的朋友就是JS閉包(JavaScript closure)卻徹底失敗了。越來越覺得國內沒有教書育人的氛圍&#xff0c;為了弄懂JS的閉包&#xff0c;我使出了…

ANSYS——命令流學習(材料屬性設置、建模的命令流)

目錄 ANSYS基本關鍵字 命令流的整體結構、每個模塊的標識 !文件說明段/BATCH

IOS用CGContextRef畫各種圖形(文字、圓、直線、弧線、矩形、扇形、橢圓、三角形、圓角矩形、貝塞爾曲線、圖片)...

首先了解一下CGContextRef: An opaque type that represents a Quartz 2D drawing environment. Graphics Context是圖形上下文,可以將其理解為一塊畫布,我們可以在上面進行繪畫操作,繪制完成后,將畫布放到我們的view中顯示即可,view看作是一個畫框. 自己學習時實現的demo&…

eclipse maven jetty插件方式啟動項目

2019獨角獸企業重金招聘Python工程師標準>>> 1. 2.點擊run即可啟動項目 參考:maven命令具體含義請自行百度.例子:maven clean的作用 / maven djetty 轉載于:https://my.oschina.net/u/3146772/blog/1576710

AWS S3 Windows系統下的文件夾上傳基于python

AWS S3 上傳文件&#xff0c;基于cmd命令行發現無法上傳文件夾&#xff0c;只能上傳單個文件&#xff0c;不知道是我能力不行還是什么原因&#xff0c;如果有大佬了解的可以在下面評論下! 一、環境配置 1.win10 X64&#xff1b; 2.awscli 1.18.91 3.python&#xff08;程序…

51nod 1004 【快速冪】

思路&#xff1a; 掐住最后一位&#xff0c;快速冪一發就好了 #include<cstdio> #include <map> #include<iostream> #include<string.h> #include<algorithm> using namespace std;typedef __int64 LL;int cal(int g,int x) {int ans1;while(g…

ANSYS——桿單元簡介與示例(含新版本2019版本桿實常數設置、ANSYS help的使用、單元列表使用的舉例)

目錄 桿的一些介紹 問題描述: 求解步驟: 一、設置研究問題為靜力學結構問題

Maya 學習資料

羅其勝3d角色強化 CGwhat-Maya變形金剛擎天柱建模教程 Pixar in the box - khan academy Siggraph歷屆優秀動畫 CG軟件發展史&#xff1a;MAYA動畫十年歷程 maya 2014奧迪汽車模型制作教程 &#xff08;yj6k&#xff09; 海賊王路飛建模教程高清全集 轉載于:https://www.cnblog…

windows系統環境變量過長解決方案(PATH too long installer unable to modify Path)

在按照官方文檔安裝PCL庫時&#xff0c;發現如下danteng的錯誤&#xff0c;內心極度崩潰&#xff01;以前也遇到過&#xff0c;當時暫時解決了該問題&#xff0c;現在又遇到了重新解決一次&#xff0c;為了方便以后遇到該問題時不再不知所措&#xff0c;現做個筆記&#xff01;…

jQuery插件-輕量圖片輪換-UISlide2

UISlide 的不同效果展現&#xff1a;運行代碼 本文轉自懶得安分博客園博客&#xff0c;原文鏈接&#xff1a;XXXXXXXX&#xff0c;如需轉載請自行聯系原作者

劍指Offer_61_序列化二叉樹

題目描述 請實現兩個函數&#xff0c;分別用來序列化和反序列化二叉樹 解題思路 使用前序遍歷&#xff0c;將遇到的結點添加到字符串中&#xff0c;遇到null則將一個#添加要序列化字符串中。反序列化時&#xff0c;每次讀取根結點&#xff0c;然后讀取其左結點&#xff0c;遇到…

ANSYS——后處理中單元表(ELEMENT table)的作用、創建、使用

目錄 單元表的作用 1、訪問無法繪制的數據 2、數據的數據源 單元表的創建

久違的反省,容忍現在的自己

距離上一次寫的隨筆剛好是一個月了&#xff0c;標題還是不知道寫什么好&#xff0c;也可以說這一個月來自己能夠拿出來稱道的東西實在是少之又少吧。更多的感受就是很多時候都是在搬磚&#xff0c;盡管這一個月來學習的東西實事求是地說不是很難的。最大的問題還是解決問題的思…

基于SSL的mysql(MariaDB)主從復制

一、前言 備份數據庫是生產環境中的首要任務&#xff0c;重中之重&#xff0c;有時候不得不通過網絡進行數據庫的復制&#xff0c;這樣就需要保證數據在網絡傳輸過程中的安全性&#xff0c;因此使用基于SSL的復制會大加強數據的安全性 二、準備工作 1、主從服務器時間同步 12[r…