.NET имеет класс Uri .
Perl имеет модуль URI .
Основное отличие состоит в том, что URI.pm позволяет извлекать компоненты строки запроса в виде хеша , а устанавливает хэш в URI для создания красивого URI с аргументами запроса, Я не вижу ничего подобного на стороне .NET. Есть какой-то скрытый класс, о котором я не знаю?
Другая утилита обеспечивает синтаксический анализ строк запроса: System.Web.HttpUtility.ParseQueryString () - анализирует строку запроса в NameValueCollection.
Пример из HttpUtility doc :
String querystring; ... // Parse the query string variables into a NameValueCollection. NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring); // Iterate through the collection. StringBuilder sb = new StringBuilder(); foreach (String s in qscoll.AllKeys) { sb.Append(s + " - " + qscoll[s] + "<br />"); }
Ответ, по-видимому, "Нет". В .NET Framework нет встроенного класса, который мог бы принимать коллекцию имен и значений и создавать строку запроса или позволять вам напрямую изменять компонент строки запроса URI, как если бы это был набор.