最近在研究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. msyql判断记录是否存在的三种方法

    1. select count(*) from .... 这种方法最常见但是效率比较低,因为它需要扫描所有满足条件的记录 2. select 1 from xxxtable where .... 这种 ...

  2. redis 入门笔记(一)

    redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的web应用程序的完美解决方案 三个主要特点:      1,Redis数据库完全在内存中,使用磁盘仅用于持久性       ...

  3. Linux初始root密码设置

    刚安装好的Linux系统是没有设置root用户密码的,下边介绍如何设置root用户的密码 第一步:sudo passwd 第二步:输入密码 第三步:确认密码 这样三个步骤过后root用户的密码就设置好 ...

  4. iOS中数据库运用之前的准备-简单的数据库

    1.数据持久化 数据持久化是通过文件将数据存储在硬盘上 iOS下主要有四种数据持久化方式 属性列表 对象归档 SQLite数据库 CoreData 数据持久化对的对比 1.属性列表.对象归档适合小数据 ...

  5. 一些SVN 地址

    lockbox3 地址: https://svn.code.sf.net/p/tplockbox/code/trunc indy10 地址:https://svn.atozed.com:444/svn ...

  6. python 调用第三方库压缩png或者转换成webp

    因为工作需要去研究了下png的压缩,发现转换成webp可以小很多,但是webp在手机上的解码速度比png的解码速度慢很多.出于进几年手机设备的处理器的性能也不错了,所以准备两套方案. 在网上搜索了一些 ...

  7. 2.Hashing

    散列法(Hashing)或哈希法是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法.由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来 ...

  8. Unity3d Shader开发(三)Pass(Culling & Depth Testing)

    剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施.所有几何体都包含正面和反面.剔除基于大多数对象都是封闭的事实:如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因 ...

  9. 洛谷 P1052 过河

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  10. javascript editor

    http://www.jetbrains.com/webstorm/download/download_thanks.jsp?os=win