1.NameValueCollection类集合是基于 NameObjectCollectionBase 类。但与 NameObjectCollectionBase 不同,
该类在一个键下存储多个字符串值(就是键相同,值就连接起来如下例子)。该类可用于标头、查询字符串和窗体数据。
每个元素都是一个键/值对。NameValueCollection 的容量是 NameValueCollection 可以保存的元素数。
NameValueCollection 的默认初始容量为零。随着向 NameValueCollection 中添加元素,容量通过重新分配按需自动增加。
如下例子:
NameValueCollection myCol = new NameValueCollection();
            myCol.Add("red", "rojo");//如果键值red相同结果合并 rojo,rouge
            myCol.Add("green", "verde");
            myCol.Add("blue", "azul");
            myCol.Add("red", "rouge");
2.与Hashtable的区别,有次用Hashtable添加下拉值都对不上,要手动调,如果用这个就不用了
3.初始化NameValueCollection需引用using System.Collections.Specialized;
完整例子源码:
using System;
using System.Collections;
using System.Collections.Specialized;

namespace SamplesNameValueCollection
{
    class Program
    {

public static void Main()
        {
            //初始化NameValueCollection需引用using System.Collections.Specialized;
            NameValueCollection myCol = new NameValueCollection();
            myCol.Add("red", "rojo");//如果键值red相同结果合并 rojo,rouge
            myCol.Add("green", "verde");
            myCol.Add("blue", "azul");
            myCol.Add("red", "rouge");

// Displays the values in the NameValueCollection in two different ways.
            //显示键,值
            Console.WriteLine("Displays the elements using the AllKeys property and the Item (indexer) property:");
            PrintKeysAndValues(myCol);
            Console.WriteLine("Displays the elements using GetKey and Get:");
            PrintKeysAndValues2(myCol);

// Gets a value either by index or by key.
            //按索引或值获取
            Console.WriteLine("Index 1 contains the value {0}.", myCol[1]);//索引1的值
            Console.WriteLine("Key \"red\" has the value {0}.", myCol["red"]);//键为red的对应值rouge
            Console.WriteLine();

// Copies the values to a string array and displays the string array.
            String[] myStrArr = new String[myCol.Count];
            myCol.CopyTo(myStrArr, 0);
            Console.WriteLine("The string array contains:");
            foreach (String s in myStrArr)
                Console.WriteLine("   {0}", s);
            Console.WriteLine();

//查找green键值然后删除
            myCol.Remove("green");
            Console.WriteLine("The collection contains the following elements after removing \"green\":");
            PrintKeysAndValues(myCol);

//清空集合
            myCol.Clear();
            Console.WriteLine("The collection contains the following elements after it is cleared:");
            PrintKeysAndValues(myCol);

}
        //显示键,值
        public static void PrintKeysAndValues(NameValueCollection myCol)
        {
            IEnumerator myEnumerator = myCol.GetEnumerator();
            Console.WriteLine("   KEY        VALUE");
            foreach (String s in myCol.AllKeys)
                Console.WriteLine("   {0,-10} {1}", s, myCol[s]);
            Console.WriteLine();
        }
        //显示索引, 键,值
        public static void PrintKeysAndValues2(NameValueCollection myCol)
        {
            Console.WriteLine("   [INDEX] KEY        VALUE");
            for (int i = 0; i < myCol.Count; i++)
                Console.WriteLine("   [{0}]     {1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i));
            Console.WriteLine();
        }
    }

}
参考:http://msdn.microsoft.com/zh-cn/library/system.collections.specialized.namevaluecollection(VS.80).aspx

转载于:https://www.cnblogs.com/sendling/archive/2009/11/24/1609917.html

NameValueCollection类总结和一个例子源码相关推荐

  1. vc++ 6.0 创建程序快捷方式的一个例子源码_漏洞复现:phpcms v9.6.0任意文件上传漏洞(CVE201814399)...

    文章说明 漏洞复现是为了学习漏洞利用所写,漏洞都是互联网上以流传已久的各种漏洞的利用及原理,用来增强自己见识,培养自己动手能力,有兴趣的朋友可自行搭建环境练习.源码下载连接在文章最后. 漏洞说明 PH ...

  2. android监控电话录音,Android例子源码实现电话录音监听的安卓例子

    技术qq:838341952 本例子是一个基于安卓的通话监听例子源码,可以实现简单的通话录音,下面是简单的实现步骤. 1.首先新建一个SystemService继承Service 2.拿到Teleph ...

  3. 易语言大漠插件破解版注册例子源码

    易语言大漠插件破解版注册例子源码

  4. Android例子源码类似58同城的通过滑屏控制引导页

    Android例子源码类似58同城的通过滑屏控制引导页 运行效果图如下,向右滑动屏幕,小人的小腿在跑呀跑呀! 附源码: csdn下载地址:http://download.csdn.net/detail ...

  5. Android例子源码仿支付宝手势密码的功能实现

    本项目是一个仿支付宝手势密码部分的源码,项目在1280×720分辨率上显示有问题,在 854x480上没有问题,项目编码UTF-8默认编译版本4.4.2,实现思路: 1.要用一个类来表示这9个点中的第 ...

  6. android 例子源码_AOSP系列文章(一)-Android系统源码下载和编译

    前期准备 从这里开始,我们就去做android系统的修改,相信会有更多的同学有更多的玩法. android是开源的,在源代码里没有秘密. 同学们可以去修改系统,做成自己喜欢的样子.做汽车的车机,到家里 ...

  7. TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之三 Views

    这个版本的TodoMVC中的视图组织划分比较细,更加易于理解,这也得益于Marionette为我们带来了丰富的视图选择,原生的backbone只有views,而Marionette则有itemview ...

  8. android comparator,Comparator和Comparable实现排序的例子源码及其对比

    [Java] 纯文本查看 复制代码package object_sort; import java.text.ParseException; import java.text.SimpleDateFo ...

  9. 易语言文本_解密c,易语言动态加解密例子源码

    .版本 2 .支持库 dp1 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .子程序 动态_加密, 文本型, 公开 .参数 原文本, 文本型 .参数 加密秘钥, ...

最新文章

  1. 有认知会推理!视觉大模型的未来不只靠表征
  2. 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )
  3. java枚举.toString_java – Make Enum.toString()本地化
  4. c语言程序设计1.9例题
  5. linux man手册_读书笔记:Linux命令行与shell脚本编程大全 第一章~第五章
  6. 18岁初中毕业学Java_刚满十八 初中毕业 java自学完了 没学历 该怎么办?
  7. break VS continue
  8. div+css 你知道多少?值得一看
  9. MYSQL无限级分类表设计及自我连接
  10. 【MySQL学习】-- 0x04 通配符小结
  11. JAVA怎么创建被继承的类_Java入门之类的继承
  12. 钩子函数atexit
  13. Delphi官方网站资源
  14. html代码 层次选择器,CSS样式类的实例代码(导航栏、分页、层级选择器)
  15. Pandas中的数据聚合方法
  16. css特殊符号编码大全
  17. 微型计算机的型号是奔四800,第1章 微型计算机基础知识
  18. Android应用禁止截屏
  19. PHP查询附近的人及其距离的实现方法
  20. Recent Trends in Deep Learning Based Natural Language Processing(arXiv)笔记

热门文章

  1. 增强我们的Visual Studio(更新中)
  2. java 并发实例_java一些常用并发工具示例
  3. 计算机二级c语基础知识,计算机二级C语基础知识整理.doc
  4. linux mysql8.0 rpm安装_Linux(CentOS7)使用 RPM 安装 mysql 8.0.11的教程
  5. python中格式符的应用%s,%d,%f以及format()的实例以及输出格式
  6. error: RPC failed; curl 18 transfer closed with outstanding read
  7. 中文发音关系频谱的猜想
  8. deepin V20 启用Nvidia驱动方法
  9. 【评分】团队作业-随堂小测(同学录)
  10. 怎样推断一棵树是否是平衡二叉树