NameValueCollection類


最近在研究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 接口,並在完成反序列化之后引發反序列化事件。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM