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

◆ NormalizeDirectorySeparators()

static string System.IO.PathInternal.NormalizeDirectorySeparators ( string path)
inlinestaticpackage

Definition at line 413 of file PathInternal.cs.

414 {
415 if (string.IsNullOrEmpty(path))
416 {
417 return path;
418 }
419 bool flag = true;
420 for (int i = 0; i < path.Length; i++)
421 {
422 char c = path[i];
423 if (IsDirectorySeparator(c) && (c != '\\' || (i > 0 && i + 1 < path.Length && IsDirectorySeparator(path[i + 1]))))
424 {
425 flag = false;
426 break;
427 }
428 }
429 if (flag)
430 {
431 return path;
432 }
433 Span<char> initialBuffer = stackalloc char[260];
434 ValueStringBuilder valueStringBuilder = new ValueStringBuilder(initialBuffer);
435 int num = 0;
436 if (IsDirectorySeparator(path[num]))
437 {
438 num++;
439 valueStringBuilder.Append('\\');
440 }
441 for (int j = num; j < path.Length; j++)
442 {
443 char c = path[j];
445 {
446 if (j + 1 < path.Length && IsDirectorySeparator(path[j + 1]))
447 {
448 continue;
449 }
450 c = '\\';
451 }
452 valueStringBuilder.Append(c);
453 }
454 return valueStringBuilder.ToString();
455 }
static bool IsDirectorySeparator(char c)

References System.Text.ValueStringBuilder.Append(), System.IO.PathInternal.IsDirectorySeparator(), and System.Text.ValueStringBuilder.ToString().

Referenced by System.IO.Path.GetDirectoryName(), and System.IO.Path.GetPathRoot().