《随笔三十七》——C#中的 “ 解析 泛型 “ Dictionary 类 中的属性 和 方法”

本文详细介绍了C#中Dictionary类的关键构造函数、属性和方法,包括Count、Item[TKey]、Keys、Values等,以及TryAdd、Add、Remove等操作。该类作为哈希表实现,键必须唯一,但值可以重复。文章还阐述了这些成员的性能特性,如常数时间复杂度的操作。" 107730496,8168552,微信小程序:深入理解setData函数,"['小程序开发', '数据绑定', '性能优化']
摘要由CSDN通过智能技术生成

目录

Dictionary Constructors,tvalue>

Propertys

Dictionary.Count,tvalue>

Dictionary.Item[ TKey ],tvalue>

Dictionary.Keys,tvalue>

Dictionary.Values,tvalue>

Methods

Dictionary.TryAdd(TKey, TValue) ,tvalue>

Dictionary.Add(TKey, TValue),tvalue>

Dictionary.Remove,tvalue>

Dictionary.Clear,tvalue>

Dictionary.ContainsKey(TKey),tvalue>

Dictionary.ContainsValue(TValue) ,tvalue>

Dictionary.TryGetValue(TKey, TValue),tvalue>


该类在 System.Collections.Generic 命名空间。

点击这里进入官网了解更多成员详情

Dictionary<TKey,TValue>  类 表示 键和值 的集合。 该类 被实现为哈希表。

Dictionary <TKey,TValue>中的每个键必须是唯一的。 键不能为null,但如果其类型 TValue 是引用类型,则 TValue可以为null。 但是每个值不需要唯一,意思就是说不一样的键可以映射相同的值。

  • 类型参数 TKey 表示字典中的 键的类型
  • 类型参数  表示 TValue 字典中的值的类型

Dictionary<TKey,TValue> Constructors


public Dictionary ();
public Dictionary (int capacity);
public Dictionary (System.Collections.Generic.IDictionary<TKey,TValue> dictionary);
        static void Main(string[] args)
        {
            // 使用默认的构造函数初始化 Dictionary 类对象,该对象为空,并且具有默认容量
            Dictionary<string, string> value = new Dictionary<string, string>();
            // 为 Dictionary 类对象指定初始的容量大小
            Dictionary<string, string> vv = new Dictionary<string, string>(5);
            Dictionary<string, string> copy =new Dictionary<string, string>(vv); // copy 是 vv 的副本
        }

Propertys


Dictionary<TKey,TValue>.Count

public int Count { get; }
  • 获取Dictionary <TKey,TValue>中包含的键/值对的数量。(只读)
  • 当前容量始终大于或等于 Count。 如果 Count 在添加元素时超出容量,则在复制旧元素和添加新元素之前,通过自动重新分配内部数组来增加容量。
  • 获取此属性的值是 o (1) 操作。
 WriteLine(vv.Count);   

Dictionary<TKey,TValue>.Item[ TKey ]

public TValue this[TKey key] { get; set; }
  • 通过 键key 来获取或设置与指定关联的值。
  • key 不能为null,如果 TValue是引用类型。则 key 映射的值可以是 null
  • 参数TValue: 如果未找到指定的键,则 get 操作将引发 KeyNotFoundException ,而 set 操作将使用指定的键创建新元素
  • 如果 参数 key 为 null。抛出 ArgumentNullException
  • 可以使用 Item [TKey] 属性通过设置 Dictionary <TKey,TValue> 中不存在的键来添加新元素。设置属性值时,如果键位于Dictionary <TKey,TValue>中,则与该键关联的值将替换为指定的值。如果该键不在Dictionary <TKey,TValue>中,则键和值将添加到Dictionary 中。相反,Add方法不会修改现有元素。
  • 获取或设置此属性的值接近 o (1) 操作。
           static void Main(string[] args)
            {

                Dictionary<string, string> vv = new Dictionary<string, string>(5);
                vv.Add("txt", "notepad.exe");
                vv.Add("bmp", "paint.exe");
                vv.Add("dib", "paint.exe");
                vv.Add("rtf", "wordpad.exe");
            vv["rdsadtf"] = "huang"; // vv 中没有键rdsadtf,那么会创建一个键其对应值 huang 的新元素
            Console.WriteLine(vv["sad"]); // vv 中没有该键,将发生异常
            }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值