System.Collections.Specialized.NameValueCollection
поддерживает НЕ , но поддерживает производный внутренний класс System.Web.HttpValueCollection
DOES (путем переопределения ToString()
).
К сожалению (будучи внутренним), вы не можете создать экземпляр этого класса напрямую, но один возвращается HttpUtility.ParseQueryString()
(и вы можете вызвать это с помощью String.Empty
, но не Null
).
Когда у вас есть HttpValueCollection
, вы можете заполнить его из своего исходного NameValueCollection
, позвонив по номеру Add()
, прежде чем, наконец, позвонить по номеру ToString()
.
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"