您的位置:首页 > 编程语言 > ASP

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

2011-01-07 16:37 381 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: