Path.Combine для URL-адресов?

Path.Combine удобен, но есть ли аналогичная функция в платформе .NET для URL-адрес?

Я ищу синтаксис вот так:

Url.Combine("http://MyUrl.com/", "/Images/Image.jpg")

который вернется:

"http://MyUrl.com/Images/Image.jpg"

+1168
16 дек. '08 в 21:42
источник поделиться
34 ответа
  • 1
  • 2

Мы используем следующий простой вспомогательный метод для объединения произвольного количества частей URL:

public static string JoinUrlParts(params string[] urlParts)
{
    return string.Join("/", urlParts.Where(up => !string.IsNullOrEmpty(up)).ToList().Select(up => up.Trim('/')).ToArray());
}

Обратите внимание, что он не поддерживает '../../something/page.htm'-style относительные URL!

0
22 мар. '18 в 14:19
источник

Я должен указать, что Path.Combine кажется, работает для этого также напрямую, по крайней мере, в .NET 4.

-1
01 июл. '10 в 16:02
источник

Nalarium.Url в пакете Nalarium NuGet делает именно это.

Подпись:

public static String Join(params String[] parameterArray)

Следовательно, вы можете сделать это (предположим, что переменные из базы данных или что-то):

Nalarium.Url.Join("https://domain", id, resource, version, parameters);

Clean.

Это params, поэтому вы можете добавлять параметры по мере необходимости.

-1
04 дек. '17 в 21:48

Я еще не использовал следующий код, но нашел его во время моих интернет-путешествий, чтобы решить проблему с объединением URL-адресов - надеясь, что это будет кратким (и успешным!) ответом:

VirtualPathUtility.Combine
-2
28 февр. '13 в 3:40
источник
  • 1
  • 2

Посмотрите другие вопросы по меткам или Задайте вопрос