最近在研究HttpRequest类,发现里面的很多属性都返回一个NameValueCollection对象,今天再来了解一下这个神秘的对象。

随便写了个例子,发现跟HashTable类似。但是这个东西有点怪,就是当存在一个key的时候,你在add的话,会追加进当前key中。而不是简单替换。

            NameValueCollection nvc = new NameValueCollection();
nvc.Add("第一个", "刘德华");
nvc.Add("第二个", "张学友");
nvc.Add("第三个", "郭富城");
nvc.Add("第四个", "黎明");
foreach (string str in nvc)
{
Response.Write(str + ":" + nvc[str] + "; ");
}

浏览器输出:

    

下面通过MSDN来详细了解下这个类。

一、共有属性

  AllKeys  该属性可以获取NameValueCollection 中的所有键。返回一个字符串数组。

  Count   该属性获取NameValueCollection包含键值对的数目,返回一个int。

  Item     该属性表明NameValueCollection可以通过索引访问,如nvc[1],nvc["key"].

  Keys     该属性获取 NameObjectCollectionBase.KeysCollection 实例,该实例包含 NameObjectCollectionBase 实例中的所有键。

二、受保护属性

  IsReadOnly  获取或设置一个值,通过该值指示 NameObjectCollectionBase 实例是否为只读的。

三、方法

  Add    将项添加到当前 NameValueCollection。例如:一个参数是将一个NameValueCollection复制到当前NameValueCollection,两个就是一个键值对。

  Clear    使缓存数组无效,并清空NameValueCollection。

  CopyTo  从目标数组的指定索引处开始将整个 NameValueCollection 复制到兼容的一维 Array。

  Get    获取 NameValueCollection 中指定项的值,可以通过key或索引号访问。

  GetEnumerator   返回循环访问 NameObjectCollectionBase 的枚举数。

  GetKey   获取 NameValueCollection 的指定索引处的键。

  GetValues 获取 NameValueCollection 中指定项的值。返回一个字符串数组,为什么要返回一个数组呢?因为一个值里面可能会包括多个项。

  HasKeys  获取一个值,该值指示 NameValueCollection 是否包含非空引用的键。即有键值对且键不为null就返回true,否则返回false。可用于判断对象是否为空。

  Remove  移除 NameObjectCollectionBase 实例中具有指定键的项。只能够根据键key移除项,不能用索引移除。

  Set     根据键值对重新设置一个项目。Set("第一个","刘德华");

  OnDeserialization  实现 ISerializable 接口,并在完成反序列化之后引发反序列化事件。

NameValueCollection类的更多相关文章

  1. NameValueCollection类集合

    1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符 ...

  2. NameValueCollection类读取配置信息

    C#中的NameValueCollection类读取配置信息,大家可以参考下.   我首先介绍配置文件中的写法: 1.在VS2015中的工程下建立一个控制台应用程序,其config文件默认名称为App ...

  3. NameValueCollection详解

    1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符 ...

  4. (转)C# NameValueCollection集合

    1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符 ...

  5. C# NameValueCollection集合 .

    案例: NameValueCollection nameValueCollection = Request.Params;//获得连接地址中的所有参数 //获取各个参数,eg:            ...

  6. HttpRequest 类

    关于此类的介绍:查看HttpRequest类 点击查看:HttpRequest中方法的封装 跟这个类对应的HttpResponse类 定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 ...

  7. C# NameValueCollection集合 (转)

    1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符 ...

  8. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  9. C# - 集合类

    C#的集合类命名空间介绍: // 程序集 mscorlib.dll System.dll System.Core.dll // 命名空间 using System.Collections:集合的接口和 ...

随机推荐

  1. USB初始化

    //USB初始化void CFileManagerDlg::usbinit(){ #define BUFFER_SIZE 64 struct usb_bus *bus; struct usb_devi ...

  2. mysql密码忘记后重置密码

    之前在centOS里安装了xampp,设置了mysql数据库root密码,今天需要增加个数据库,发现忘记之前设置的密码是什么了.经过一番摸爬滚打,终于搞明白了,注意以下的操作都是以linux的root ...

  3. QtSQL学习笔记(3)- 执行SQL语句

    QSqlQuery类提供了一个用于执行SQL语句和浏览查询的结果集的接口. QSqlQueryModel和QSqlTableModel类提供了一个用于访问数据库的高级接口,这将在下一节介绍.如果你不熟 ...

  4. IE专用CSS,最全的CSS hack方式一览

    http://blog.csdn.net/freshlover/article/details/12132801

  5. 未指定的错误,发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。数据类型不被支持。

    未指定的错误,发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息.数据类型不被支持. 博客分类: 雅芳生涯 .Net VB C# OracleMicrosoftSecurity  ...

  6. 2015版App推广全攻略(完整版)

    线上渠道 1.基础上线 各大手机厂商市场.第三方应用商店.大平台.PC下载站.手机WAP站.收录站.移动互联网应用推荐媒体等等基本可以覆盖Android版本发布渠 道:推广的第一步是要上线,这是最基础 ...

  7. 转最简便安装python+selenium-webdriver环境方法

    最简便安装python+selenium-webdriver环境方法 from:http://www.easonhan.info/python/2013/12/07/active-python-ins ...

  8. Python多线程启动http.server

    OS: Windows 8.1 with update 关键字:Python3.4, http.server, Thread 例子代码如下: import os from threading impo ...

  9. Tomcat安装与配置图文教程

    安装Tomcat之前先配置JDK,JDK的JAVA_HOME变量都必须设置好,以便Tomcat找到JDK.关闭防火墙等. 一:安装版Tomcat 1. 先下载tomcat,到http://tomcat ...

  10. mysql(转)

    /* 启动MySQL */net start mysql /* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */mysqld ...