Practical Usage of NameValueCollection in C#

In this article, we are going to see the practical usage of a NameValueCollection.

Used Namespaces:

using System;
using System.Collections.Specialized;

Advantage:

  • We can store duplicate keys either with different values or the same value.
  • Using a key we can get all the values for the single key.
  • Single Key, but multiple values

Disadvantage:

We can store and retrieve only string values. 

Step 1:Used Namespaces:

using System;
using System.Collections.Specialized;

Step 2:Collection used to show the Demo:

public static NameValueCollection GetCollection()
{
    NameValueCollection collection = new NameValueCollection();
    collection.Add("Lajapathy", ":INQ");
    collection.Add("partiban", "WCF");
    collection.Add("partiban", "Silverlight");
    collection.Add("Sathiya", "C#");
    collection.Add("Sathiya", "dot net");
    collection.Add("Sangita", "C#");
    return collection;
}

Step 3: To display the Unique keys from the collection:

public void DisplayOnlyUniqueKeys()
{
    NameValueCollection collection = GetCollection();
    // No duplicates returned.
    foreach (string key in collection.AllKeys)
    {
        Response.Write(key + ",");
    }
}

Step 4: To get the value of a key from the collection:

public void DisplayValue()
{
    NameValueCollection collection = GetCollection();
    Response.Write(string.Format("Value :", collection["Sathiya"]));
}

Step 5: How to remove the values using the key:

public void RemoveValue()
{
    NameValueCollection collection = GetCollection();
    collection.Remove("Lajapathy");
    // No duplicates returned.
    foreach (string key in collection.AllKeys)
    {
        Response.Write(key + ",");
    }
}

Step 6: How to clear the collection using the following approach:

public void ClearValue()
{
    NameValueCollection collection = GetCollection();
    collection.Clear();
    // No duplicates returned.
    foreach (string key in collection.AllKeys)
    {
        Response.Write(key + ",");
    }
}

Step 7: How to get the values as an Array:

public void GetDataArray()
{
    NameValueCollection collection = GetCollection();
    string[] values = collection.GetValues("partiban");
    // No duplicates returned.
    foreach (string key in values)
    {
        Response.Write(key + ",");
    }
}

Step 8: How to get a key using the index of the collection:

public void GeKey()
{
    NameValueCollection collection = GetCollection();
    string key = collection.GetKey(1);
    Response.Write(string.Format("Value :", key));
}

Step 9: Declaration of the above code snippet:

protected void Page_Load(object sender, EventArgs e)
{
    DisplayOnlyUniqueKeys();
    DisplayValue();
    ClearValue();
    GetDataArray();
    GeKey();
}

Step 10: To display the duplicate keys from the collection:

public void DisplayAllKeys()
{
    NameValueCollection collection = GetCollection();
    // No duplicates returned.
    foreach (string key in collection.Keys)
    {
        Response.Write(key + ",");
    }
}

Step 11: Declaration of the above code snippet:

protected void Page_Load(object sender, EventArgs e)
{
    SetValue();
    CheckHasKey();
    DisplayAllKeys();
    GetValuesByIndex();
}

Step 12: How to get values using a specific index from the collection:

public void GetValuesByIndex()
{
    NameValueCollection collection = GetCollection();
    string[] indexArray = collection.GetValues(1);
    // No duplicates returned.
    foreach (string key in indexArray)
    {
        Response.Write(key + ",");
    }
}

Step 13: How to update the existing value of key:

This updates the "Lajapathy" key to value "SharePoint". Old value replaced by new one.

/// <summary>
/// Used to set value to COllection and update its value if key exists
/// </summary>
public void SetValue()
{
    NameValueCollection collection = GetCollection();
    collection.Set("Lajapathy", "SharePoint");
    foreach (string key in collection.AllKeys)
    {
        Response.Write(key + ",");
    }
}

Step 14: How to check whether the collection is NULL or Empty:

//Check the collection is null or empty
public void CheckHasKey()
{
    NameValueCollection collection = GetCollection();
    bool hasKey = collection.HasKeys();
    Response.Write(hasKey);
}

Thanks for reading this article. Have a nice day.


Similar Articles