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

◆ Join() [1/7]

static string System.IO.Path.Join ( params string?[] paths)
inlinestatic

Definition at line 453 of file Path.cs.

454 {
455 if (paths == null)
456 {
457 throw new ArgumentNullException("paths");
458 }
459 if (paths.Length == 0)
460 {
461 return string.Empty;
462 }
463 int num = 0;
464 for (int i = 0; i < paths.Length; i++)
465 {
466 num += paths[i]?.Length ?? 0;
467 }
468 num += paths.Length - 1;
469 Span<char> initialBuffer = stackalloc char[260];
470 ValueStringBuilder valueStringBuilder = new ValueStringBuilder(initialBuffer);
471 valueStringBuilder.EnsureCapacity(num);
472 foreach (string text in paths)
473 {
474 if (string.IsNullOrEmpty(text))
475 {
476 continue;
477 }
478 if (valueStringBuilder.Length == 0)
479 {
480 valueStringBuilder.Append(text);
481 continue;
482 }
483 if (!PathInternal.IsDirectorySeparator(valueStringBuilder[valueStringBuilder.Length - 1]) && !PathInternal.IsDirectorySeparator(text[0]))
484 {
485 valueStringBuilder.Append('\\');
486 }
487 valueStringBuilder.Append(text);
488 }
489 return valueStringBuilder.ToString();
490 }

References System.Text.ValueStringBuilder.EnsureCapacity(), System.IO.PathInternal.IsDirectorySeparator(), and System.text.