C# 字串連接方式整理

  • 8109
  • 0
  • C#
  • 2019-02-14

C#的字串做連接的方式整理,使用的方式包括String Format、String Concat、String Builder等方式

以下整理幾種字串連接的方式

 

第一種 +

最常見的方式就是用+把字串加在一起

比如 "aa" + "bb"

出來的結果就會變成

aabb

當然也可以用 += 的方式來組成

EX:

var str = "aa";

str += "bb";

Console.WriteLine(str);

輸出的結果也會為 aabb

第二種 $ 字符串内插

在$符號的字串裡就可以加上 {}  並在裡面加入變數

Ex:

int num = 1 ;
var str = $"test{num}";
Console.WriteLine(str);

輸出結果為

test1

也可在括號裡面加入運算式

Ex:

var str = $"test{1+1}";

Console.WriteLine(str);

輸出結果為

test2

那如果要在$的字串裡加入{}的字串要怎麼做呢

Ex:

int num = 0 ;
str = $"{{num:{num}}}"; 
Console.WriteLine(str)

輸出結果就會變成

{ num:0}

假設今天想要在字串裡加入 " 符號 該怎麼做呢

其實只要把想加入的 " 符號加上一個反斜線 \ 就能達成了

Ex:

str = $" \"{num}\" "; 

輸出的結果就會是

 "0"

這個適用於一般字串 不需要加上$就可以達成了

第三種 String Format

今天假設有一個字串  裡面有許多地方需要插入變數, 但變數又不是在當下就有需要的值的時候,就可以使用string format

例如

Hello, My name is ATai, Today is Monday!

其中的名字跟星期幾 我希望能用變數來取代,就可以先把中間挖空,變成

var name = "ATai";
var date = DateTime.Now;
var helloWorld = "Hello, My name is {0}, Today is {1}!";
var str = String.Format(helloWorld, name, date.DayOfWeek);
Console.WriteLine(str);

輸出的字樣就會變成

Hello, My name is ATai, Today is Wednesday!

第四種 String Concat

如果今天需要串連的字串是為陣列的型態,想把他們組起來就可以使用 string.Concat

Ex

string[] strArray = { "The", "three", "little", "pigs", "are", "getting", "big." };
var str = string.Concat(strArray); 
Console.WriteLine(str);

輸出的解果就會為

Thethreelittlepigsaregettingbig.

第五種 string.Join

剛剛在上面看到了 string.Concat 一定有發現到  我的字都連在一起了,但是我希望我在串起來的時候能用空格或是其他符號來代替,這時候就可以使用 string.Join了

string[] strArray = { "The", "three", "little", "pigs", "are", "getting", "big." };
var str = string.Join(" ", strArray);
Console.WriteLine(str);

輸出的結果就會為

 The three little pigs are getting big.

其中的 " " 裡面可以用任何符號做代替,來達成自己需要的目的

第六種 StringBuilder

使用方式就像以下

var str = new StringBuilder();
str.Append("aa")
str.Append("bb")
Console.WriteLine(str);

輸出的結果就會為

aabb

關於 StringBuilder的使用情境  可以參考黑大的文 這邊就不詳細贅述

以上就是這次整理出來的C#字串連接方式,如果還有什麼其他方式歡迎提出來一起討論。

 

相關連結

MSDN-String Class

MSDN-字符串内插