/// <summary> /// Returns a string that represents the current object. /// </summary> /// <param name="encoding">The encoding.</param> /// <returns>A query string.</returns> public string ToString(Encoding encoding) { if (encoding == null) { encoding = DefaultEncoding ?? Encoding.UTF8; } var arr = new List <string>(); foreach (var item in this) { arr.Add(string.Format("{0}={1}", WebFormat.UrlEncode(item.Key, encoding), WebFormat.UrlEncode(item.Value, encoding))); } return(string.Join("&", arr)); }
/// <summary> /// Encodes the value. /// </summary> /// <param name="value">The value.</param> /// <returns>The value encoded.</returns> protected virtual string EncodeValue(string value) { return(WebFormat.UrlEncode(value)); }
/// <summary> /// Encodes the key. /// </summary> /// <param name="key">The key.</param> /// <returns>The key encoded.</returns> protected virtual string EncodeKey(string key) { return(WebFormat.UrlEncode(key)); }