Uri.GetLeftPart(UriPartial) Метод

Определение

Возвращает указанную часть экземпляра Uri .

public:
 System::String ^ GetLeftPart(UriPartial part);
public string GetLeftPart(UriPartial part);
member this.GetLeftPart : UriPartial -> string
Public Function GetLeftPart (part As UriPartial) As String

Параметры

part
UriPartial

Одно из значений перечисления, указывающее конец возвращаемой части URI.

Возвращаемое значение

Указанная часть экземпляра Uri .

Исключения

Текущий Uri экземпляр не является абсолютным экземпляром.

Указанный part параметр недопустим.

Примеры

В следующем примере создается Uri экземпляр и записывается путь к консоли.

// Create Uri
Uri uriAddress = new Uri("http://www.contoso.com/index.htm#search");
Console.WriteLine(uriAddress.Fragment);
Console.WriteLine("Uri {0} the default port ", uriAddress.IsDefaultPort ? "uses" : "does not use");

Console.WriteLine("The path of this Uri is {0}", uriAddress.GetLeftPart(UriPartial.Path));
Console.WriteLine("Hash code {0}", uriAddress.GetHashCode());
// The example displays output similar to the following:
//        #search
//        Uri uses the default port
//        The path of this Uri is http://www.contoso.com/index.htm
//        Hash code -988419291
// Create Uri
let uriAddress = Uri "http://www.contoso.com/index.htm#search"
printfn $"{uriAddress.Fragment}"
printfn $"""Uri {if uriAddress.IsDefaultPort then "uses" else "does not use"} the default port """

printfn $"The path of this Uri is {uriAddress.GetLeftPart UriPartial.Path}"
printfn $"Hash code {uriAddress.GetHashCode()}"
// The example displays output similar to the following:
//        #search
//        Uri uses the default port
//        The path of this Uri is http://www.contoso.com/index.htm
//        Hash code -988419291
' Create Uri
Dim uriAddress As New Uri("http://www.contoso.com/index.htm#search")
Console.WriteLine(uriAddress.Fragment)
Console.WriteLine("Uri {0} the default port ", If(uriAddress.IsDefaultPort, "uses", "does not use")) 

Console.WriteLine("The path of this Uri is {0}", uriAddress.GetLeftPart(UriPartial.Path))
Console.WriteLine("Hash code {0}", uriAddress.GetHashCode())
' The example displays output similar to the following:
'        #search
'        Uri uses the default port
'        The path of this Uri is http://www.contoso.com/index.htm
'        Hash code -988419291

Комментарии

Метод GetLeftPart возвращает строку, содержащую самую левую часть строки URI, заканчивая частью, указанной в partпараметре.

Important

Метод GetLeftPart выполняет кодировку символов Юникода и нормализацию в процессе обработки. Это не простой метод обработки строк. Возвращаемая строка может отличаться от исходной строки URI из-за этого поведения кодирования.

Метод GetLeftPart эквивалентен вызову GetComponents с соответствующими UriComponents флагами. Рассмотрим пример.

  • GetLeftPart(UriPartial.Authority) — это эквивалент GetComponents(UriComponents.Scheme | UriComponents.UserInfo | UriComponents.Host | UriComponents.Port, UriFormat.UriEscaped)

GetLeftPart включает разделители в следующих случаях:

  • Scheme включает разделитель схемы.
  • Authority не включает разделитель пути.
  • Path включает разделитель пути и все разделители в исходном URI до разделителя запроса или фрагмента.
  • Query включает в Pathсебя запрос и его разделитель.

В следующих примерах показан универсальный код ресурса (URI) и результаты вызова GetLeftPart с Schemeпомощью , AuthorityPathили Query.

URI Scheme Авторитет Путь Запрос
http://www.contoso.com/index.htm?date=today http:// http://www.contoso.com http://www.contoso.com/index.htm http://www.contoso.com/index.htm?date=today
http://www.contoso.com/index.htm#main http:// http://www.contoso.com http://www.contoso.com/index.htm http://www.contoso.com/index.htm
mailto:user@contoso.com?subject=uri mailto: <none> mailto:user@contoso.com mailto:user@contoso.com?subject=uri
nntp://news.contoso.com/123456@contoso.com nntp:// nntp://news.contoso.com nntp://news.contoso.com/123456@contoso.com nntp://news.contoso.com/123456@contoso.com
news:123456@contoso.com news: <none> news:123456@contoso.com news:123456@contoso.com
file://server/filename.ext file:// file://server file://server/filename.ext file://server/filename.ext

Применяется к