案例1:
View Code
using System;
class Program
{
static void Main()
{
string[] arr = { "one", "two", "three" };
Console.WriteLine(string.Join(",", arr)); // "string" can be lowercase, or
Console.WriteLine(String.Join(",", arr)); // "String" can be uppercase
}
}
class Program
{
static void Main()
{
string[] arr = { "one", "two", "three" };
Console.WriteLine(string.Join(",", arr)); // "string" can be lowercase, or
Console.WriteLine(String.Join(",", arr)); // "String" can be uppercase
}
}
输出结果:
one,two,three
one,two,three
案例2:
View Code
using System;
class Program
{
static void Main()
{
// Problem: combine these words into lines in HTML
string[] dinosaurs = new string[] { "Aeolosaurus",
"Deinonychus", "Jaxartosaurus", "Segnosaurus" };
// Solution: join with break tag.
string html = string.Join("<br/>\r\n", dinosaurs);
Console.WriteLine(html);
}
}
class Program
{
static void Main()
{
// Problem: combine these words into lines in HTML
string[] dinosaurs = new string[] { "Aeolosaurus",
"Deinonychus", "Jaxartosaurus", "Segnosaurus" };
// Solution: join with break tag.
string html = string.Join("<br/>\r\n", dinosaurs);
Console.WriteLine(html);
}
}
输出结果:
Aeolosaurus<br/>
Deinonychus<br/>
Jaxartosaurus<br/>
Segnosaurus
案例3:
View Code
using System;
using System.Text;
class Program
{
static void Main()
{
string[] catSpecies = { "Aegean", "Birman", "Main Coon", "Nebulung" };
Console.WriteLine(CombineA(catSpecies));
Console.WriteLine(CombineB(catSpecies));
}
/// <summary>
/// Combine strings with commas.
/// </summary>
static string CombineA(string[] arr)
{
return string.Join(",", arr);
}
/// <summary>
/// Combine strings with commas.
/// </summary>
static string CombineB(string[] arr)
{
StringBuilder builder = new StringBuilder();
foreach (string s in arr)
{
builder.Append(s).Append(",");
}
return builder.ToString().TrimEnd(new char[] { ',' });
}
}
using System.Text;
class Program
{
static void Main()
{
string[] catSpecies = { "Aegean", "Birman", "Main Coon", "Nebulung" };
Console.WriteLine(CombineA(catSpecies));
Console.WriteLine(CombineB(catSpecies));
}
/// <summary>
/// Combine strings with commas.
/// </summary>
static string CombineA(string[] arr)
{
return string.Join(",", arr);
}
/// <summary>
/// Combine strings with commas.
/// </summary>
static string CombineB(string[] arr)
{
StringBuilder builder = new StringBuilder();
foreach (string s in arr)
{
builder.Append(s).Append(",");
}
return builder.ToString().TrimEnd(new char[] { ',' });
}
}
输出结果:Aegean,Birman,Main Coon,Nebulung
Aegean,Birman,Main Coon,Nebulung
案例4:View Codeusing System;
class Program
{
static void Main()
{
try
{
string bug = string.Join(null, null); // Null arguments are bad
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}输出结果:System.ArgumentNullException: Value cannot be null.
Parameter name: value
案例5:View Codeusing System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// List of cities
List<string> cities = new List<string>();
cities.Add("New York");
cities.Add("Mumbai");
cities.Add("Berlin");
cities.Add("Istanbul");
// Join strings into one CSV line
string line = string.Join(",", cities.ToArray());
Console.WriteLine(line);
}
}总结:Join与StringBuilder方法相比较,性能上要高出许多,有人测试过1000000条数据两方法分别耗时:New York,Mumbai,Berlin,Istanbulstring.Join: 157 ms
StringBuilder Append method: 270 ms