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];
472 foreach (
string text in paths)
473 {
474 if (
string.IsNullOrEmpty(
text))
475 {
476 continue;
477 }
478 if (valueStringBuilder.
Length == 0)
479 {
481 continue;
482 }
483 if (!PathInternal.IsDirectorySeparator(valueStringBuilder[valueStringBuilder.
Length - 1]) && !PathInternal.IsDirectorySeparator(
text[0]))
484 {
485 valueStringBuilder.
Append(
'\\');
486 }
488 }
489 return valueStringBuilder.
ToString();
490 }
void EnsureCapacity(int capacity)
override string ToString()