Строка запроса C#: как включить знак плюса (+)

В C#, если вы хотите включить знак плюса (+) в строку запроса, вам необходимо правильно его закодировать. Знак плюс имеет особое значение при кодировании URL-адресов, поскольку он представляет собой символ пробела. Чтобы включить буквальный знак плюса в строку запроса, вам следует использовать формат процентного кодирования.

Вот несколько способов сделать это:

  1. Использование метода HttpUtility.UrlEncode:

    string query = "param1=" + HttpUtility.UrlEncode("value+with+plus+sign");
  2. Использование метода Uri.EscapeDataString:

    string query = "param1=" + Uri.EscapeDataString("value+with+plus+sign");
  3. Использование класса UriBuilder:

    UriBuilder builder = new UriBuilder("http://example.com");
    builder.Query = "param1=" + Uri.EscapeDataString("value+with+plus+sign");
    string url = builder.ToString();

Эти методы кодируют знак плюса (+) как «%2B» в результирующей строке запроса, гарантируя, что он правильно интерпретируется как знак плюса при анализе URL-адреса.