博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

String Join方法应用

Posted on 2011-12-24 10:43  sprogram  阅读(426)  评论(0编辑  收藏  举报

案例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
    }
}

输出结果:

 

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);
    }
}
输出结果:
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[] { ',' });
    }
}
输出结果:
Aegean,Birman,Main Coon,Nebulung 
Aegean,Birman,Main Coon,Nebulung

案例4:

View Code
using System;

class Program
{
    static void Main()
    {
    try
    {
        string bug = string.Join(nullnull); // Null arguments are bad
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
    }
    }
}
输出结果:
System.ArgumentNullException: Value cannot be null.
Parameter name: value

案例5:

View Code
using 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);
    }
}
New York,Mumbai,Berlin,Istanbul
总结:Join与StringBuilder方法相比较,性能上要高出许多,有人测试过1000000条数据两方法分别耗时: 
string.Join:                 157 ms 
StringBuilder Append method: 270 ms