NameValueCollection Class
Represents a sorted collection of associated String keys and String values that can be accessed either with the key or with the index.
For a list of all members of this type, see NameValueCollection Members.
System.Object
System.Collections.Specialized.NameObjectCollectionBase
System.Collections.Specialized.NameValueCollection
System.Net.WebHeaderCollection
System.Web.HttpClientCertificate
[Visual Basic] <Serializable> Public Class NameValueCollection Inherits NameObjectCollectionBase [C#] [Serializable] public class NameValueCollection : NameObjectCollectionBase [C++] [Serializable] public __gc class NameValueCollection : public NameObjectCollectionBase [JScript] public Serializable class NameValueCollection extends NameObjectCollectionBase
Thread Safety
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
This implementation does not provide a synchronized (thread-safe) wrapper for a NameValueCollection, but derived classes can create their own synchronized versions of the NameValueCollection using the SyncRoot property of the NameObjectCollectionBase class.
Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.
Remarks
This collection is based on the NameObjectCollectionBase class. However, unlike the NameObjectCollectionBase, this class stores multiple string values under a single key.
This class can be used for headers, query strings and form data.
The capacity is the number of key-and-value pairs that the NameValueCollection can contain. The default initial capacity is zero. The capacity is automatically increased as required.
The hash code provider dispenses hash codes for keys in the NameValueCollection. The default hash code provider is the CaseInsensitiveHashCodeProvider.
The comparer determines whether two keys are equal. The default comparer is the CaseInsensitiveComparer.
In .NET Framework version 1.0, this class uses culture-sensitive string comparisons. However, in .NET Framework version 1.1 and later, this class uses CultureInfo.InvariantCulture when comparing strings. For more information about how culture affects comparisons and sorting, see Comparing and Sorting Data for a Specific Culture and Performing Culture-Insensitive String Operations.
Requirements
Namespace: System.Collections.Specialized
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
Assembly: System (in System.dll)
See Also
NameValueCollection Members | System.Collections.Specialized Namespace | NameObjectCollectionBase | Performing Culture-Insensitive String Operations