Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Commit

Permalink
Format some more Join overloads
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesqo committed Nov 21, 2016
1 parent c5c9f55 commit c60c141
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions src/mscorlib/src/System/String.Manipulation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -601,27 +601,34 @@ public unsafe static string Join(char separator, string[] value, int startIndex,

// Joins an array of strings together as one string with a separator between each original string.
//
public static String Join(String separator, params String[] value) {
if (value==null)
public static string Join(string separator, params string[] value)
{
if (value == null)
{
throw new ArgumentNullException(nameof(value));
Contract.EndContractBlock();
}
return Join(separator, value, 0, value.Length);
}

[ComVisible(false)]
public static string Join(string separator, params object[] values)
{
if (values == null)
{
throw new ArgumentNullException(nameof(values));
Contract.EndContractBlock();
}

if (values.Length == 0)
{
return string.Empty;
}

string firstString = values[0]?.ToString();

if (values.Length == 1)
{
return firstString ?? string.Empty;
}

StringBuilder result = StringBuilderCache.Acquire();
result.Append(firstString);
Expand Down Expand Up @@ -683,7 +690,7 @@ public static string Join(string separator, IEnumerable<string> values)
result.Append(en.Current);
}
while (en.MoveNext());

return StringBuilderCache.GetStringAndRelease(result);
}
}
Expand Down

0 comments on commit c60c141

Please sign in to comment.