.NET C#: NameValueCollection
2015-07-19 19:43
375 查看
NameValueCollection class is in System.Collection.Specialized assembly.
Unlike with HashTable, NameValueCollection can have more than one values for one key.
So there is no error for code below:
NameValueCollection myCol = new NameValueCollection();
myCol.Add("red", "rojo");
myCol.Add("red", "rouge");
while using HashTable there will be an error.
Let us see some demo:
reference: https://msdn.microsoft.com/zh-cn/library/system.collections.specialized.namevaluecollection.aspx
Unlike with HashTable, NameValueCollection can have more than one values for one key.
So there is no error for code below:
NameValueCollection myCol = new NameValueCollection();
myCol.Add("red", "rojo");
myCol.Add("red", "rouge");
while using HashTable there will be an error.
Let us see some demo:
using System; using System.Collections; using System.Collections.Specialized; public class ConsoleTest { public static void Main() { // Creates and initializes a new NameValueCollection. NameValueCollection myCol = new NameValueCollection(); myCol.Add("red", "rojo"); 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]); Console.WriteLine("Key \"red\" has the value {0}.", myCol["red"]); 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(); // Searches for a key and deletes it. myCol.Remove("green"); Console.WriteLine("The collection contains the following elements after removing \"green\":"); PrintKeysAndValues(myCol); // Clears the entire collection. myCol.Clear(); Console.WriteLine("The collection contains the following elements after it is cleared:"); PrintKeysAndValues(myCol); } public static void PrintKeysAndValues(NameValueCollection myCol) { 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(); } } /* This code produces the following output. Displays the elements using the AllKeys property and the Item (indexer) property: KEY VALUE red rojo,rouge green verde blue azul Displays the elements using GetKey and Get: [INDEX] KEY VALUE [0] red rojo,rouge [1] green verde [2] blue azul Index 1 contains the value verde. Key "red" has the value rojo,rouge. The string array contains: rojo,rouge verde azul The collection contains the following elements after removing "green": KEY VALUE red rojo,rouge blue azul The collection contains the following elements after it is cleared: KEY VALUE */
reference: https://msdn.microsoft.com/zh-cn/library/system.collections.specialized.namevaluecollection.aspx
相关文章推荐
- 我的Android进阶之旅------>Android <requestFocus />标签的用法
- Splay树(插入、删除、区间最大字段和)—— SPOJ - GSS6 Can you answer these queries VI
- leetCode(44):Implement Stack using Queues
- leetCode(44):Implement Stack using Queues 分类: leetCode 2015-07-19 19:29 50人阅读 评论(0) 收藏
- 【分块】 HDOJ 5286 wyh2000 and sequence
- java设计模式-Builder
- StringBuilder 以及 StringBuffer默认大小与扩容
- UVALive - 3263 That Nice Euler Circuit (几何)
- UICollectionView的学习
- [leetcode]Permutation Sequence
- 1051. Pop Sequence (25)
- codeforces 558D Guess Your Way Out! II
- 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)
- 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)
- 22-UICollectionView
- UVA - 1664 Conquer a New Region
- 21-UIScrollView 滑动视图
- 2.5 how do I iterate over a sequence in reverse order
- 20-02 UITableViewController
- PAT (Advanced Level) 1007. Maximum Subsequence Sum (25) 最大连续子数组,一次遍历,stack辅助