if (!UriParseComponents.TryParseComponents (baseUri.OriginalString, UriKind.Absolute, null, out baseEl, out error))
throw new UriFormatException (error);
- if (relativeUri.StartsWith (baseEl.scheme + ":"))
+ if (relativeUri.StartsWith (baseEl.scheme + ":", StringComparison.Ordinal))
relativeUri = relativeUri.Substring (baseEl.scheme.Length + 1);
if (relativeUri.Length >= 1 && relativeUri [0] == '/') {
string unescapedPath = UriHelper.FormatAbsolute (path, scheme,
UriComponents.Path, UriFormat.Unescaped, formatFlags);
- if (path.StartsWith("/") && !unescapedPath.StartsWith("/"))
+ if (path.StartsWith ("/", StringComparison.Ordinal) &&
+ !unescapedPath.StartsWith ("/", StringComparison.Ordinal))
unescapedPath = "/" + unescapedPath;
if (IsLocalIdenticalToAbsolutePath ()) {
if (segments [k] != segments2 [k])
break;
- for (int i = k; i < segments.Length && segments [i].EndsWith ("/"); i++)
+ for (int i = k; i < segments.Length && segments [i].EndsWith ("/", StringComparison.Ordinal); i++)
result += "../";
for (int i = k; i < segments2.Length; i++)
result += segments2 [i];
{
var delimiter = Uri.GetSchemeDelimiter (state.elements.scheme);
- if (!state.remaining.StartsWith (delimiter)) {
+ if (!state.remaining.StartsWith (delimiter, StringComparison.Ordinal)) {
if (UriHelper.IsKnownScheme (state.elements.scheme)) {
state.error = "Invalid URI: The Authority/Host could not be parsed.";
return false;
if ((components & UriComponents.Path) != 0) {
string path = elements.path;
if ((components & UriComponents.PathAndQuery) != 0 &&
- (path.Length == 0 || !path.StartsWith ("/")) &&
+ (path.Length == 0 || !path.StartsWith ("/", StringComparison.Ordinal)) &&
elements.delimiter == Uri.SchemeDelimiter)
sb.Append ("/");
sb.Append (UriHelper.FormatAbsolute (path, scheme, UriComponents.Path, format, formatFlags));