• Dictionary<TKey, TValue> 类


    C# Dictionary<TKey, TValue> 类

     

    Dictionary<TKey, TValue> 泛型类提供了从一组键到一组值的映射。字典中的每个添加项都由一个值及其相关联的键组成。通过key检索值的速度非常快,其时间复杂度为常数阶 O(1),因为 Dictionary<TKey, TValue> 类是以哈希表的方式实现的。

     

    只要对象用作键在 Dictionary<TKey, TValue>,不得更改任何会影响其哈希值的方式。每个在 Dictionary<TKey, TValue> 中的键通过字典相等比较器计算后必须是唯一的。键不能为 null,如果值类型 TValue 为引用类型,值可以为null。

     

    Dictionary<TKey, TValue> 需要一个相等实现来确定键是否相等。您可以指定的一种实现 IEqualityComparer<T> 泛型接口的使用构造函数接受 comparer 参数 ; 如果不指定实现中,默认泛型相等比较器 EqualityComparer<T>.Default 使用。如果类型 TKey 实现 System.IEquatable<T> 泛型接口,默认的相等比较使用该实现。

     

    Dictionary<TKey, TValue> 的容量是可以容纳 Dictionary<TKey, TValue>元素的个数 。随着元素添加到 Dictionary<TKey, TValue> ,容量会根据需要通过重新分配内部数组自动增加。

     

    对于非常大的 Dictionary<TKey, TValue> 对象,您可通过在运行时环境中将 enabledgcAllowVeryLargeObjects特性设置为 true,将最大容量增加到 20 亿元素。

     

    为了达到可枚举的目的,在字典中的每一项将以 KeyValuePair<TKey, TValue> 结构的形式来表示值和键的关系,它表示某个值并且其密钥。每一项的返回顺序是未定义的。

  • 相关阅读:
    RedHat Openshift 搭建个人博客(wordpress)指南
    Sokcet方式请求HTTP/HTTPS的封装类HttpHelper
    不花钱的主机
    关于IE、火狐等浏览器兼容问题的总结
    ios平台调用WCF
    Windows Writer的服务提供器
    QQ开放平台 OAUTH2.0 QqConnetSDK 登录,运行原理,附源码。
    Learning Cocos2dx for XNA——深入剖析Hello World
    Albacore.NET下基于Rake(ruby make)的自动化构建工具
    排序算法
  • 原文地址:https://www.cnblogs.com/gsk99/p/4998135.html
Copyright © 2020-2023  润新知