Amit Soni Amit Soni - 1 month ago 11
C# Question

HttpValueCollection and NameValueCollection

What is the difference between

HttpValueCollection
and
NameValueCollection
?

If possible please explain with example.

Thanks

Answer

NameValueCollection is case sensitive for the keys, HttpValueCollection isn't. Also HttpValueCollection is an internal class that derives from NameValueCollection that you are never supposed to use directly in your code. Another property of HttpValueCollection is that it automatically url encodes values when you add them to this collection.

Here's how to use the HttpValueCollection class:

class Program
{
    static void Main()
    {
        // returns an implementation of NameValueCollection
        // which in fact is HttpValueCollection
        var values = HttpUtility.ParseQueryString(string.Empty);
        values["param1"] = "v&=+alue1";
        values["param2"] = "value2";*

        // prints "param1=v%26%3d%2balue1&param2=value2"
        Console.WriteLine(values.ToString());
    }
}
Comments