[C#.NET] 處理動態字串應該使用 string.Format 或 StringBuilder

  • 2340
  • 0
  • C#
  • 2012-11-01

[C#.NET] 處理動態字串應該使用 string.Format 或 StringBuilder

 

我們應該避免使用 + 或 = 來處理動態字串,這時使用 StringBuilder 類別或 string.Format 方法處理動態字串,請參考之前的帖子 [.NET] 動態處理字串 - StringBuilder 類別 與 String 類別的效能

這是不好的寫法:

public string GetResult()
{
    var name = GetName();
    var result = "Hello ~ ";
    result += name;
    return result;
}

 

 

這是好的寫法:

public string GetResult()
{
    var name = GetName();
    StringBuilder sb = new StringBuilder();
    sb.Append("Hello ~ ");
    sb.Append(name);
    return sb.ToString();
}

 

 

 

這是好的寫法:較好維護

public string GetResult()
{
    var name = GetName();
    var result = string.Format("Hello {0}", name);
    return result;
}

public string GetName()
{
    return "余小章";
}

 

 

 

string.Format 骨子裡也是實作 StringBuilder 來的

image_thumb

 

 

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo