String - ParseQueryString

Parses a query string into a using encoding.

Try it

public static void Main()
{
    string input = "userID=16555&gameID=60&score=4542.122&time=343114";
	
	try
	{
    	//C# Extension Method: String - ParseQueryString
    	var values = input.ParseQueryString();

    	foreach (var val in values)
    	{
        	Console.WriteLine("{0}: {1}", val, values[val.ToString()]);
    	}
	}
	catch
	{
		Console.WriteLine(".NET Fiddle doesn't support LimitExceededException required by this method yet.");
	}
}

View Source
using System;
using System.Collections.Specialized;
using System.Text;
using System.Web;

public static partial class Extensions
{
    /// <summary>
    ///     Parses a query string into a  using  encoding.
    /// </summary>
    /// <param name="query">The query string to parse.</param>
    /// <returns>A  of query parameters and values.</returns>
    public static NameValueCollection ParseQueryString(this String query)
    {
        return HttpUtility.ParseQueryString(query);
    }

    /// <summary>
    ///     Parses a query string into a  using the specified .
    /// </summary>
    /// <param name="query">The query string to parse.</param>
    /// <param name="encoding">The  to use.</param>
    /// <returns>A  of query parameters and values.</returns>
    public static NameValueCollection ParseQueryString(this String query, Encoding encoding)
    {
        return HttpUtility.ParseQueryString(query, encoding);
    }
}