日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# NameValueCollection集合 (转)

發布時間:2023/12/31 C# 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# NameValueCollection集合 (转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C# 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.NameValueCollection與Hashtable的區別

a.引用區別

hashtable:using System.Collections;

NameValueCollection:using System.Collections.Specialized;?

b.鍵是否重復

NameValueCollection:允許重復.

HashTable是鍵-值集合,但鍵不能出現重復.?

?

  • Hashtable?ht?=?new?Hashtable();??
  • ht.Add("key","value");??
  • ht.Add("key",?"value1");?//出錯??
  • ht["key"]?=?"value1";?//正確??
  • ?

    ?

    ?

    ?

    3.初始化NameValueCollection?

    ?

    ?

    初始化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();??
  • ????????}??
  • ????}??
  • ??
  • }??
  • ?

    4.NameValueCollection遍歷?

    與Hashtable相似:?

    ?

  • NameValueCollection?myCol?=?new?NameValueCollection();????
  • myCol.Add("red",?"rojo");//如果鍵值red相同結果合并?rojo,rouge????
  • myCol.Add("green",?"verde");????
  • myCol.Add("blue",?"azul");??
  • myCol["red"]?=?"dd";??
  • ??
  • foreach?(string?key?in?myCol.Keys)??
  • {??
  • ????Console.WriteLine("{0}:{1}",?key,?myCol[key]);??
  • }??
  • Console.ReadLine();??
  • 轉自:http://blog.csdn.net/a497785609/article/details/5702356

    posted on 2013-08-20 14:09 天使半只翼 閱讀(...) 評論(...) 編輯 收藏

    轉載于:https://www.cnblogs.com/william-lin/p/3270092.html

    總結

    以上是生活随笔為你收集整理的C# NameValueCollection集合 (转)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。