返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#实现Dictionary字典赋值的方法
  • 823
分享到

C#实现Dictionary字典赋值的方法

2024-04-02 19:04:59 823人浏览 八月长安
摘要

Dictionary<TKEy,TValue> 类,表示键和值的集合。 Dictionary<TKey,TValue> 泛型类提供一组键到一组值的映射。 每次

Dictionary<TKEy,TValue> 类,表示键和值的集合

Dictionary<TKey,TValue> 泛型类提供一组键到一组值的映射。 每次对字典的添加都包含一个值和与其关联的键。 使用其键检索值的速度非常快。

之前使用Dictionary,也没遇到什么问题,感觉很方便,通过键值对的形式进行新建 – 存储 – 校验Key/Value是否存在 – 读取 – 修改/移除维护,一切正常。 近期取犯了一个不应该犯的错 – 赋值。


	class Program
    {      
        static List<List<int>> handCards = new List<List<int>>();
        static void Main(string[] args)
        {
  			//声明 赋值
            Dictionary<int, int> dic1 = new Dictionary<int, int>();
            dic1.Add(1, 1);
            dic1.Add(2, 2);

            Dictionary<int, int> dic2 = dic1;
            dic2.Add(3, 3);
            dic2.Add(4, 4);

            foreach (var item in dic1.Keys)
            {
                Console.WriteLine("dic1 : " + dic1[item]);
            
            }
            foreach (var item in dic2.Keys)
            {
                Console.WriteLine("dic2 : " + dic2[item]);
            
            }
        }
    }

111

这种赋值的方式是直接将dic2指向了dic1的内存地址,其实就是一个人,叫两个名字而已,所以这时不管你叫谁他都有反应, 即对dic1和dic2进行的所有操作都是一个内存地址进行修改,也就是说对dic1修改就是对dic2修改。

对于这种概念,我们最初学习引用类型的时候就已经有过接触了,所以说,大家也基本不会犯这样的错误。

需要注意的是,当我们使用Dic作为参数的时候,对它遍历时,尽量不要在外部对它进行添加/删除元素,否则可能会遇到这错:Unity 报错 之 InvalidOperationException: out of sync。

还有一种情况就是,当我们需要多个操作校验的时候,有多个方法同时执行,对这个Dic进行操作,也会产生问题。

那么,问题来了,想像值类型那么赋值该怎么写呢?


	class Program
    {      
        static List<List<int>> handCards = new List<List<int>>();
        static void Main(string[] args)
        {  			
            //声明 赋值
            Dictionary<int, int> dic3 = new Dictionary<int, int>();
            dic3.Add(1, 1);
            dic3.Add(2, 2);

            //相当于值类型赋值
            Dictionary<int, int> dic4 = new Dictionary<int, int>(dic3);
            dic4.Add(3, 3);
            dic4.Add(4, 4);

            foreach (var item in dic3.Keys)
            {
                Console.WriteLine("dic3 : " + dic3[item]);

            }
            foreach (var item in dic4.Keys)
            {
                Console.WriteLine("dic4 : " + dic4[item]);

            }
        }
    }

222

这样的话就可以只是用Dictionary的值,新开辟了一块内存地址,而不会对它本身有影响。

到此这篇关于C#实现Dictionary字典赋值的方法的文章就介绍到这了,更多相关C# Dictionary字典赋值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#实现Dictionary字典赋值的方法

本文链接: https://lsjlt.com/news/127041.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#实现Dictionary字典赋值的方法
    Dictionary<TKey,TValue> 类,表示键和值的集合。 Dictionary<TKey,TValue> 泛型类提供一组键到一组值的映射。 每次...
    99+
    2024-04-02
  • python字典赋值的方法是什么
    Python中的字典是一种无序的键值对集合,每个键值对之间用逗号分隔,整个字典用花括号{}括起来表示。字典中的键必须是唯一的,而值可...
    99+
    2023-05-13
    python字典赋值 python
  • python字典赋值的方法有哪些
    Python 字典赋值的方法有以下几种:1、直接使用等号赋值使用等号将一个字典赋值给另一个字典,两个字典将指向同一个内存地址,即修改...
    99+
    2023-05-13
    python字典赋值 python
  • Python的“二维”字典 (two-dimension dictionary)定义与实现方法
    本文实例讲述了Python的“二维”字典 (two-dimension dictionary)定义与实现方法。分享给大家供大家参考,具体如下: Python 中的dict可以实现迅速查找。那么有没有像数组有...
    99+
    2022-06-04
    字典 定义 方法
  • Python字典赋值后值变成元组怎么实现
    要实现将字典的值变成元组,可以使用字典的items()方法来遍历字典的键值对,并将每个键值对的值转换成元组。 下面是一个示例代码: ...
    99+
    2023-10-22
    Python
  • python3--字典,字典的嵌套,概念:分别赋值
      字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必...
    99+
    2023-01-30
    字典 嵌套 赋值
  • C#泛型字典Dictionary的使用详解
    本文主要介绍了C# 泛型字典 Dictionary的使用详解,分享给大家,具体如下: 泛型最常见的用途是泛型集合,命名空间System.Collections.Generic 中包含...
    99+
    2024-04-02
  • C#字典Dictionary的用法说明(注重性能版)
    前言 以键值对Dictionary<[key], [value]>形式存值,和哈希表很像也是一种无序的结构。 要使用Dictionary,需要先导入C#泛型命名空间Sys...
    99+
    2024-04-02
  • Mybatis-Plus实现公共字段自动赋值的方法
    目录1 mybatis-plus实现自动填充指定字段1.1 需要修改的字段在模型类上添加1.2 新建一个MetaObjectHandler的实现类2 通用字段自动填充的最佳实践总结2...
    99+
    2024-04-02
  • c语言字符数组赋值的方法是什么
    C语言字符数组可以通过以下几种方法进行赋值:1. 使用字符串常量赋值:可以直接将一个字符串常量赋值给字符数组。例如:```cchar...
    99+
    2023-08-29
    c语言
  • python字典取值的几种方法
            Python 字典(dictionary)是一种可变容器模型,可以存储任意数量的任意类型的数据。字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔。字典通常用于存储键值对的数据,例如在数据库中存储记录。   以下是 ...
    99+
    2023-09-06
    python Python字典 容器模型
  • Python根据字典值对字典进行排序的三种方法实例
    目录一、实际场景及解决思路二、字典排序的三种实现方法2.1 使用列表解析方法实现字典排序2.2 使用zip方法实现字典排序2.3 使用传递sorted函数的key参数实现字典排序三、...
    99+
    2024-04-02
  • c语言字符串赋值为空怎么实现
    在C语言中,可以使用空字符 ‘\0’ 或者赋值一个空字符串来实现将字符串赋值为空。以下是两种常见的实现方式: 使用空字符 ‘\0’...
    99+
    2024-02-29
    c语言
  • Python取出字典中的值的实现
    字典的常用方法 方便举例,先创建2个字典 list_test={"bob":19,"aoa":18,"coc":17} list_b={'qqq':000} 参数返回值含义.item...
    99+
    2023-01-05
    Python取出字典值 python字典取值
  • C#枚举赋值的方法是什么
    这篇文章主要讲解了“C#枚举赋值的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#枚举赋值的方法是什么”吧!Q:我留意到Code #02中的.field public stati...
    99+
    2023-06-18
  • c#中radiobutton赋值的方法是什么
    在C#中,通过编程方式给RadioButton赋值可以使用RadioButton的Checked属性。例如,可以通过设置RadioB...
    99+
    2024-03-14
    c#
  • python字典取值的方法有哪些
    这篇文章主要讲解了“python字典取值的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python字典取值的方法有哪些”吧!Python 字典(dictionary)是一种可变容...
    99+
    2023-07-06
  • Python实现简单字典树的方法
    本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串。 在此代码基础上扩展一下,就可以...
    99+
    2022-06-04
    字典 简单 方法
  • python dict 字典 以及 赋值 引用的一些实例(详解)
    最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东 用的最多的还是 list 和 tuple (网上查 用法一大堆) 看了一下创建字典的方法...
    99+
    2022-06-04
    赋值 字典 详解
  • c语言字符串赋值给数组的方法是什么
    在C语言中,将一个字符串赋值给字符数组的方法有两种: 使用strcpy函数: #include <stdio.h> ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作