@@ -111,6 +111,7 @@ public static QueryString FromUriComponent([NotNull] Uri uri)
111111 /// </summary>
112112 /// <param name="name">The un-encoded parameter name</param>
113113 /// <param name="value">The un-encoded parameter value</param>
114+ /// <returns>The resulting QueryString</returns>
114115 public static QueryString Create ( string name , string value )
115116 {
116117 return new QueryString ( "?" + UrlEncoder . Default . UrlEncode ( name ) + '=' + UrlEncoder . Default . UrlEncode ( value ) ) ;
@@ -120,7 +121,7 @@ public static QueryString Create(string name, string value)
120121 /// Creates a query string composed from the given name value pairs.
121122 /// </summary>
122123 /// <param name="parameters"></param>
123- /// <returns></returns>
124+ /// <returns>The resulting QueryString </returns>
124125 public static QueryString Create ( IEnumerable < KeyValuePair < string , string > > parameters )
125126 {
126127 var builder = new StringBuilder ( ) ;
@@ -137,6 +138,30 @@ public static QueryString Create(IEnumerable<KeyValuePair<string, string>> param
137138 return new QueryString ( builder . ToString ( ) ) ;
138139 }
139140
141+ /// <summary>
142+ /// Creates a query string composed from the given name value pairs.
143+ /// </summary>
144+ /// <param name="parameters"></param>
145+ /// <returns>The resulting QueryString</returns>
146+ public static QueryString Create ( IEnumerable < KeyValuePair < string , string [ ] > > parameters )
147+ {
148+ var builder = new StringBuilder ( ) ;
149+ bool first = true ;
150+ foreach ( var pair in parameters )
151+ {
152+ foreach ( var value in pair . Value )
153+ {
154+ builder . Append ( first ? "?" : "&" ) ;
155+ first = false ;
156+ builder . Append ( UrlEncoder . Default . UrlEncode ( pair . Key ) ) ;
157+ builder . Append ( "=" ) ;
158+ builder . Append ( UrlEncoder . Default . UrlEncode ( value ) ) ;
159+ }
160+ }
161+
162+ return new QueryString ( builder . ToString ( ) ) ;
163+ }
164+
140165 public QueryString Add ( QueryString other )
141166 {
142167 if ( ! HasValue || Value . Equals ( "?" , StringComparison . Ordinal ) )
0 commit comments