System.Collections.Specialized.NameValueCollection
tut NICHT Unterstützung dieses, sondern eine abgeleitete interne Klasse System.Web.HttpValueCollection
DOES (ToString()
durch Überschreiben).
Leider (intern) können Sie diese Klasse nicht direkt instanziieren, aber eine wird von HttpUtility.ParseQueryString()
zurückgegeben (und Sie können dies mit String.Empty
aufrufen, aber nicht Null
).
Sobald Sie eine HttpValueCollection
haben, können Sie es von Ihrem ursprünglichen NameValueCollection
durch den Aufruf Add()
ausfüllen, bevor schließlich ToString()
aufrufen.
var nameValueCollection = new NameValueCollection {{"a","b"},{"c","d"}};
var httpValueCollection = System.Web.HttpUtility.ParseQueryString(String.Empty);
httpValueCollection.Add(nameValueCollection);
var qs = httpValueCollection.ToString();
nameValueCollection.ToString() = "System.Collections.Specialized.NameValueCollection" httpValueCollection.ToString() = "a = b & c = d"
Ähnliche Fragen http://stackoverflow.com/questions/229925/outputing-a-manipulated-querystring-in-c/ http://stackoverflow.com/questions/829080/how-to-build-a- query-string-for-a-url-in-c – Palani