C#键值对容器的介绍

时间:2023-04-14 12:26:56 

StringDictionary:默认key不区分大小写
NameValueCollection:默认key区分大小写
KeyedCollection:不是键值对容器,但是比键值对容器更好用,强烈推荐

命名空间using System.Collections.Specialized

System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。
System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。
System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。

Hashtable、SortedList
SortedList为可排序的字典,当添加元素时,元素按照正确的排序顺序插入SortedList,同时索引自动进行相应的调整,移除元素亦然。
Hashtable、SortedList的键和值均为object类型,因此使用的时候,转化比较频繁

dictionary
范型Dictionary,可以随便制定key,value的类型


Dictionary <String, String> dic = new Dictionary <string, string> ();
dic.Add( "1 ", "Jerry ");
dic.Add( "2 ", "Kimmy ");
dic.Add( "3 ", "Tommy ");


 

也可以自己定义类来使用


public class KeyValueItem
    {
        private int _Value;
        public int Value
        {
            get
            {
                return _Value;
            }
        }
        private string _Name;
        public string Name
        {
            get
            {
                return _Name;
            }
        }
        //
        public KeyValueItem(string name, int value)
        {
            _Name = name;
            _Value = https://www.jb51.net/dgjack/archive/2012/03/03/value;
        }
        public override string ToString()
        {
            return _Name;
        }
    }


插入值的时候:


KeyValueItem it = new KeyValueItem("客户1", 1);
            comboBox1.Items.Add(it);
            it = new KeyValueItem("客户2", 2);
            comboBox1.Items.Add(it);
            it = new KeyValueItem("客户3", 3);
            comboBox1.Items.Add(it);


取值的时候就用 :


int relationtype = ((KeyValueItem)comboBox1.SelectedItem).Value;

标签:键值,对容器
0
投稿

猜你喜欢

  • C#面向对象编程中开闭原则的示例详解

    2022-12-07 11:15:28
  • IDEA报错:无效的源发行版解决方案

    2022-06-05 08:38:58
  • 详解Java异常处理中finally子句的运用

    2023-11-29 10:10:30
  • .net文件上传时实现通过文件头确认文件类型的方法

    2021-08-01 09:05:32
  • Android实现蒙板效果

    2021-08-30 16:06:04
  • C#实现自定义Dictionary类实例

    2022-12-19 09:23:47
  • android fm单体声和立体声的切换示例代码

    2023-04-19 11:06:56
  • 聊聊在Servlet中怎么上传文件

    2022-03-07 17:56:44
  • idea 创建properties配置文件的步骤

    2023-11-18 18:03:30
  • JVM类运行机制实现原理解析

    2023-11-01 18:26:20
  • Java类加载器和类加载机制实例分析

    2021-07-18 03:32:26
  • Java并发编程之原子性-Atomic的使用

    2023-11-09 22:34:58
  • Java并发编程面试之线程池

    2023-11-11 10:58:33
  • c#实现sqlserver事务处理示例

    2022-03-28 19:39:50
  • Java解析DICOM图之如何获得16进制数据详解

    2023-06-15 17:37:29
  • Android最简单的限制输入方法(只包含数字、字母和符号)

    2022-01-22 00:15:45
  • C# 网络编程之UDP

    2021-10-02 16:06:40
  • C#控制台程序中处理2个关闭事件的代码实例

    2021-11-21 03:45:40
  • Mybatis-Plus实现SQL拦截器的示例

    2022-05-14 13:55:14
  • 实例讲解Android中的View类以及自定义View控件的方法

    2023-08-11 06:26:42
  • asp之家 软件编程 m.aspxhome.com