Как вернуть ссылку на уровень ниже url-пути?

В C# вы можете вернуть ссылку на уровень ниже url-пути, используя класс Uri. Для этого есть несколько способов, вот два из них:

1. Использование свойства Segments объекта Uri. Segments представляет собой массив строк, содержащий отдельные части url-пути. Для доступа к уровням ниже текущего пути вы можете модифицировать Segments с помощью методов Skip и ToArray. Например:

Uri url = new Uri("https://www.example.com/level1/level2/level3");
string[] segments = url.Segments.Skip(1).ToArray();
string newUrl = string.Join("", segments);
Console.WriteLine(newUrl);

В этом примере Skip(1) указывает, что мы пропускаем первый сегмент url-пути ("level1"), а ToArray преобразует оставшиеся сегменты в массив строк. Затем мы объединяем эти сегменты в строку с помощью string.Join, чтобы получить ссылку на уровень ниже текущего пути ("level2/level3").

2. Использование метода GetLeftPart объекта Uri. Метод GetLeftPart возвращает часть url-пути до указанного уровня. Вы можете указать уровень, используя перечисление UriPartial. Например:

Uri url = new Uri("https://www.example.com/level1/level2/level3");
string newUrl = url.GetLeftPart(UriPartial.Path);
Console.WriteLine(newUrl);

В этом примере UriPartial.Path говорит GetLeftPart вернуть часть url-пути до текущего уровня ("https://www.example.com/level1/level2").

Оба приема будут работать в приведенном примере. Зависит от ваших потребностей, какой из них использовать. У вас также может быть другой формат URL-пути, поэтому адаптируйте код в зависимости от вашего случая.