Как сформировать url query из списка параметров?

Как сформировать url query из параметров? На питоне это делают так:

    def _add_url_params(self) -> str:
        query = {
            "aid": 1988,
            "device_platform": "web_mobile",
            "region": self._region or "US",
            "priority_region": "",
            "os": "ios",
            "referer": "",
            "cookie_enabled": "true",
            "screen_width": self._width,
            "screen_height": self._height,
            "browser_language": self._browser_language.lower() or "en-us",
            "browser_platform": "iPhone",
            "browser_name": "Mozilla",
            "browser_version": self._user_agent,
            "browser_online": "true",
            "timezone_name": self._timezone_name or "America/Chicago",
            "is_page_visible": "true",
            "focus_state": "true",
            "is_fullscreen": "false",
            "history_len": random.randint(0, 30),
            "language": self._language or "en",
        }
        print(query)
        t = urlencode(query)
        print(t)
        return t

В результате, получается строка:

aid=1988&device_platform=web_mobile&region=RU&priority_region=&os=ios&referer=&cookie_enabled=true&screen_width=694&screen_height=412&browser_language=ru-ru&browser_platform=iPhone&browser_name=Mozilla&browser_version=Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+12_2+like+Mac+OS+X%29+AppleWebKit%2F605.1.15+%28KHTML%2C+like+Gecko%29+Version%2F15.4+Mobile%2F15E148+Safari%2F604.1&browser_online=true&timezone_name=Asia%2FKrasnoyarsk&is_page_visible=true&focus_state=true&is_fullscreen=false&history_len=10&language=ru

На C# я обычно забиваю уже сформированную строку и через интерполяцию подставляю нужные значения. Но это нифига не удобно и нечитабельно.
Можно использовать Dictionary<string,string> и написать функцию преобразования. Но, может, всё уже написано?

Есть HttpValueCollection в System.Web
.net - How to build a query string for a URL in C#? - Stack Overflow

Ругается на System.Web.HttpUtility. Говорит, нет такого.

добавлен в References проекта?

Теперь да :grin: Работает :+1: