文档章节

学用 ASP.Net 之 System.Collections.Specialized.NameValueCollection 类

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 361
阅读 22
收藏 0

NameValueCollection 相当于 Key 和 Value 都是字符串的且能通过索引访问的哈希表.

主要成员:
/* 属性 */
AllKeys; //返回包含所有键的 string[]
Count;   //
Keys;    //键集合

/* 方法 */
Add();       //
Clear();     //
CopyTo();    //
Get();       //根据索引或键取值, 有多个值时会用逗号隔开
GetKey();    //根据索引取键
GetValues(); //根据索引或键取值, 返回 string[]
HasKeys();   //是否包含非 null 键
Remove();    //根据键移除
Set();       //改值; 若键不存在则同 Add()


其 Key 可为 null, 且可对应多个 Value:
protected void Button1_Click(object sender, EventArgs e)
{
    NameValueCollection nv = new NameValueCollection();
    nv.Add("k1", "AAA");
    nv.Add("k2", "BBB");
    nv.Add("k3", "CCC");
    nv.Add(null, "DDD");
    nv.Add("k2", "b");
    nv.Add("k2", "bb");
    nv.Add("k2", "bbb");

    string str1 = nv["k1"]; //AAA
    string str2 = nv["k2"]; //BBB,b,bb,bbb : 多个值会用逗号分开
    string str3 = nv[1];    //BBB,b,bb,bbb
    string str4 = nv[null]; //DDD

    TextBox1.Text = str1 + "\n" + str2 + "\n" + str3 + "\n" + str4;
}


练习:
protected void Button1_Click(object sender, EventArgs e)
{
    NameValueCollection nv = new NameValueCollection();
    nv.Add("k1", "AAA");
    nv.Add("k2", "BBB");
    nv.Add("k3", "CCC");
    nv.Add("k2", "b");
    nv.Add("k2", "bb");
    nv.Add("k2", "bbb");

    int n = nv.Count; //3 : k1、k2、k3

    nv.Set("k1", "aaa");

    string str1 = nv.Get(0);    //aaa
    string str2 = nv.Get("k1"); //aaa
    string str3 = nv.GetKey(0); //k1

    string[] sArr1 = nv.GetValues(0);
    string[] sArr2 = nv.GetValues("k2");

    string str4 = string.Join("; ", sArr1); //aaa
    string str5 = string.Join("; ", sArr2);

    TextBox1.Text = string.Format("{0}\n{1}\n{2}\n{3}\n{4}\n{5}", n, str1, str2, str3, str4, str5);
}

protected void Button2_Click(object sender, EventArgs e)
{
    NameValueCollection nv = new NameValueCollection();
    nv.Add("k1", "AAA");
    nv.Add("k2", "BBB");
    nv.Add("k3", "CCC");
    nv.Add("k2", "b");
    nv.Add("k2", "bb");
    nv.Add("k2", "bbb");

    NameValueCollection.KeysCollection keys = nv.Keys;

    string str1 = "";
    foreach (string s in keys) { str1 += s + ", "; } //k1, k2, k3, 

    string str2 = string.Join("; ", nv.AllKeys);     //k1; k2; k3 

    TextBox1.Text = str1 + "\n" + str2;
}

本文转载自:http://www.cnblogs.com/del/archive/2011/01/07/1929949.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
和牛腩学编程路线图

把之前录的视频整理了一下,把其中一些自己觉得满意的抽出来,做成一个学习路线图 没有录制的视频就是2017年的录制计划了,不知道能不能学得进,正在把一些视频逐步传到优酷上,当然是不清晰...

niunan
2017/01/01
0
0
ASP.net与JavaEE语法、内置对象的对比

1 各自的HelloWord版本 1.1 ASP <% Response.Write("hello asp") %> 文件名为test.asp。 1.2 ASP.net <%@ page Language="C#" %> <% Response.Write("hello asp.net"); %> 文件名为test.aspx......

流浪的狗
2017/12/24
0
0
ASP.NET 应用程序生命周期概述

来源:MSDN ASP.NET 应用程序生命周期概述 本主题概述应用程序生命周期,列出重要的生命周期事件,并描述如何编写适合应用程序生命周期的代码。在 ASP.NET 中,若要对 ASP.NET 应用程序进行初...

夏春涛
2008/01/23
0
0
.NET Core开发日志——从ASP.NET Core Module到KestrelServer

ASP.NET Core程序现在变得如同控制台(Console)程序一般,同样通过Main方法启动整个应用。而Main方法要做的事情很简单,创建一个WebHostBuilder类,调用其Build方法生成一个WebHost类,最后启...

Ken.W
07/14
0
0
ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API

ASP.NET 5.0 的主要目标之一是统一MVC 和 Web API 框架应用。 接下来几篇文章中您会了解以下内容: ASP.NET MVC 6 中创建简单的web API。 如何从空的项目模板中启动,及添加控件到应用中。 ...

葡萄城控件技术团队
2015/02/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux学习-1031(rsync同步工具 上)

10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通过ssh同步 一、 rsync工具介绍 rsync是一个同步工具,在日常的运维中常会用到。它可以本地同步,也实现可以远程两台机器同步。...

wxy丶
1分钟前
0
0
python实战一期:第一天

1. 为什么学习python 1.1 为什么要学Python? Python第一是个非常牛B的脚本语言,能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的Web界面,只有当你自...

laoba
3分钟前
0
0
Java并发编程学习三:线程同步的关键字以及理解

上篇文章中介绍了Java线程的带来的问题与内存模型中介绍了线程可能会引发的问题以及对应Java的内存模型,顺带介绍了Volatile和Sychronized关键字。今天对Java中涉及到的常见的关键类和关键字...

JerryLin123
10分钟前
0
0
我用代码来给你们分析一个赚钱的技巧

赚钱是个俗气的话题,但又是人人都绕不开的事情。我今天来“科学”地触碰下这个话题。 谈赚钱,就会谈到理财、投资,谈到炒股。有这样一个笑话: 问:如何成为百万富翁? 答:带一千万进入股...

crossin
10分钟前
0
0
spring MatchingBean应用

1、编写接口FactoryList import java.util.List;public interface FactoryList<E extends MatchingBean<K>, K> extends List<E> { E getBean(K factor); List<E> getBeanLi......

重城重楼
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部