NameValueCollection类总结和一个例子源码
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类总结和一个例子源码相关推荐
- vc++ 6.0 创建程序快捷方式的一个例子源码_漏洞复现:phpcms v9.6.0任意文件上传漏洞(CVE201814399)...
文章说明 漏洞复现是为了学习漏洞利用所写,漏洞都是互联网上以流传已久的各种漏洞的利用及原理,用来增强自己见识,培养自己动手能力,有兴趣的朋友可自行搭建环境练习.源码下载连接在文章最后. 漏洞说明 PH ...
- android监控电话录音,Android例子源码实现电话录音监听的安卓例子
技术qq:838341952 本例子是一个基于安卓的通话监听例子源码,可以实现简单的通话录音,下面是简单的实现步骤. 1.首先新建一个SystemService继承Service 2.拿到Teleph ...
- 易语言大漠插件破解版注册例子源码
易语言大漠插件破解版注册例子源码
- Android例子源码类似58同城的通过滑屏控制引导页
Android例子源码类似58同城的通过滑屏控制引导页 运行效果图如下,向右滑动屏幕,小人的小腿在跑呀跑呀! 附源码: csdn下载地址:http://download.csdn.net/detail ...
- Android例子源码仿支付宝手势密码的功能实现
本项目是一个仿支付宝手势密码部分的源码,项目在1280×720分辨率上显示有问题,在 854x480上没有问题,项目编码UTF-8默认编译版本4.4.2,实现思路: 1.要用一个类来表示这9个点中的第 ...
- android 例子源码_AOSP系列文章(一)-Android系统源码下载和编译
前期准备 从这里开始,我们就去做android系统的修改,相信会有更多的同学有更多的玩法. android是开源的,在源代码里没有秘密. 同学们可以去修改系统,做成自己喜欢的样子.做汽车的车机,到家里 ...
- TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之三 Views
这个版本的TodoMVC中的视图组织划分比较细,更加易于理解,这也得益于Marionette为我们带来了丰富的视图选择,原生的backbone只有views,而Marionette则有itemview ...
- android comparator,Comparator和Comparable实现排序的例子源码及其对比
[Java] 纯文本查看 复制代码package object_sort; import java.text.ParseException; import java.text.SimpleDateFo ...
- 易语言文本_解密c,易语言动态加解密例子源码
.版本 2 .支持库 dp1 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .子程序 动态_加密, 文本型, 公开 .参数 原文本, 文本型 .参数 加密秘钥, ...
最新文章
- 有认知会推理!视觉大模型的未来不只靠表征
- 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )
- java枚举.toString_java – Make Enum.toString()本地化
- c语言程序设计1.9例题
- linux man手册_读书笔记:Linux命令行与shell脚本编程大全 第一章~第五章
- 18岁初中毕业学Java_刚满十八 初中毕业 java自学完了 没学历 该怎么办?
- break VS continue
- div+css 你知道多少?值得一看
- MYSQL无限级分类表设计及自我连接
- 【MySQL学习】-- 0x04 通配符小结
- JAVA怎么创建被继承的类_Java入门之类的继承
- 钩子函数atexit
- Delphi官方网站资源
- html代码 层次选择器,CSS样式类的实例代码(导航栏、分页、层级选择器)
- Pandas中的数据聚合方法
- css特殊符号编码大全
- 微型计算机的型号是奔四800,第1章 微型计算机基础知识
- Android应用禁止截屏
- PHP查询附近的人及其距离的实现方法
- Recent Trends in Deep Learning Based Natural Language Processing(arXiv)笔记
热门文章
- 增强我们的Visual Studio(更新中)
- java 并发实例_java一些常用并发工具示例
- 计算机二级c语基础知识,计算机二级C语基础知识整理.doc
- linux mysql8.0 rpm安装_Linux(CentOS7)使用 RPM 安装 mysql 8.0.11的教程
- python中格式符的应用%s,%d,%f以及format()的实例以及输出格式
- error: RPC failed; curl 18 transfer closed with outstanding read
- 中文发音关系频谱的猜想
- deepin V20 启用Nvidia驱动方法
- 【评分】团队作业-随堂小测(同学录)
- 怎样推断一棵树是否是平衡二叉树