Получение родительского названия URI/URL с абсолютного имени C#

18
задан Rohit 4 February 2009 в 06:03
поделиться

4 ответа

Это является самым коротким, я могу придумать:

static string GetParentUriString(Uri uri)
{
    return uri.AbsoluteUri.Remove(uri.AbsoluteUri.Length - uri.Segments.Last().Length);
}

, Если Вы хотите использовать Последнее () метод, необходимо будет включать Систему. Linq.

29
ответ дан 30 November 2019 в 02:01
поделиться

Быстрый и грязный

int pos = uriString.LastIndexOf('/');
if (pos > 0) { uriString = uriString.Substring(0, pos); } 
1
ответ дан 30 November 2019 в 02:01
поделиться

Должен быть более простой способ сделать это с помощью встроенных методов uri, но вот мой поворот в предложении @unknown (yahoo).
В этой версии вам не нужен System.Linq , и он также обрабатывает URI со строками запроса:

private static string GetParentUriString(Uri uri)
{
    return uri.AbsoluteUri.Remove(uri.AbsoluteUri.Length - uri.Segments[uri.Segments.Length -1].Length - uri.Query.Length);
}
7
ответ дан 30 November 2019 в 02:01
поделиться

Кратчайший путь, который я нашел:

static Uri GetParent(Uri uri) {
    return new Uri(uri, Path.GetDirectoryName(uri.LocalPath) + "/");
}
1
ответ дан 30 November 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: