Aspectacular.QueryStringEx.GetQs C# (CSharp) Method

GetQs() public static method

Returns modified http request querystring, starting with question mark, or "" if not query string parameters were specified.
public static GetQs ( this request ) : string
request this
return string
        public static string GetQs(this HttpRequest request)
        {
            NameValueCollection qs = EnsureQsStored(request);

            StringBuilder sb = new StringBuilder();

            for(int i = 0; i < qs.Count; i++)
            {
                string key = qs.GetKey(i);
            // ReSharper disable once AssignNullToNotNullAttribute
                string val = string.Join("&", qs.GetValues(i));
                string pair = key == null ? val : string.Format("{0}={1}", HttpUtility.UrlEncode(qs.GetKey(i)), HttpUtility.UrlEncode(qs[i]));

                sb.Append(sb.Length == 0 ? "?" : "&");
                sb.Append(pair);
            }

            return sb.ToString();
        }