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.mzph.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…