Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetCombinedString()

static void System.Uri.GetCombinedString ( Uri baseUri,
string relativeStr,
bool dontEscape,
ref string result )
inlinestaticprivate

Definition at line 839 of file Uri.cs.

840 {
841 for (int i = 0; i < relativeStr.Length && relativeStr[i] != '/' && relativeStr[i] != '\\' && relativeStr[i] != '?' && relativeStr[i] != '#'; i++)
842 {
843 if (relativeStr[i] == ':')
844 {
845 if (i < 2)
846 {
847 break;
848 }
849 UriParser syntax = null;
850 if (CheckSchemeSyntax(relativeStr.AsSpan(0, i), ref syntax) != 0)
851 {
852 break;
853 }
854 if (baseUri.Syntax == syntax)
855 {
856 relativeStr = ((i + 1 >= relativeStr.Length) ? string.Empty : relativeStr.Substring(i + 1));
857 break;
858 }
859 result = relativeStr;
860 return;
861 }
862 }
863 if (relativeStr.Length == 0)
864 {
865 result = baseUri.OriginalString;
866 }
867 else
868 {
869 result = CombineUri(baseUri, relativeStr, dontEscape ? UriFormat.UriEscaped : UriFormat.SafeUnescaped);
870 }
871 }
static unsafe ParsingError CheckSchemeSyntax(ReadOnlySpan< char > span, ref UriParser syntax)
Definition Uri.cs:2553
static string CombineUri(Uri basePart, string relativePart, UriFormat uriFormat)
Definition Uri.cs:3381
UriFormat
Definition UriFormat.cs:4

References System.Uri.CheckSchemeSyntax(), System.Uri.CombineUri(), System.Runtime.Serialization.Dictionary, System.Uri.OriginalString, and System.Uri.Syntax.

Referenced by System.Uri.ResolveHelper().