zoukankan      html  css  js  c++  java
  • C# 键值对类相关

    一 C# 键值对类有以下类:

    ①    IDictionary<string, Object> idc = new Dictionary<string, object>();

    ②    KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;

    ③    Hashtable ht=new Hashtable(); file创建一个Hashtable实例
     
           ht.Add(E,e);添加keyvalue键值对

     Hashtable 内的每一组对象就是一个DictionaryEntry
     例如我们要循环hashtable
     foreach (DictionaryEntry de in myHashtable) {...}
     Hashtable就是一个DictionaryEntry的集合

     

    KeyValuePair和Hashtable区别

    KeyValuePair是单个的键值对对象,而Hashtable是一个集合。

    KeyValuePair用于接收combox选定的值。

    例如:KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;

     

     三 hashtable 与 dictionary的区别

    1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.

    2:多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.

    3:Dictionary 有按插入顺序排列数据的特性 (注: 但当调用 Remove() 删除过节点后顺序被打乱), 因此在需要体现顺序的情境中使用 Dictionary 能获得一定方便.

     

     

     

     

  • 相关阅读:
    [题解] LuoguP6185 [NOI Online 提高组]冒泡排序
    [题解] LuoguP5339 [TJOI2019]唱、跳、rap和篮球
    [题解] LuoguP4168 [Violet]蒲公英
    [题解] LuoguP4705玩游戏
    [题解 LuoguP4491 [HAOI2018]染色
    [题解] LuoguP3768 简单的数学题
    杜教筛
    莫比乌斯反演学习笔记
    [题解] LuoguP2257 YY的GCD
    [题解] LuoguP2764 最小路径覆盖问题
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/2750840.html
Copyright © 2011-2022 走看看