区切り文字を使った文字列連結に便利な String.Join() のご紹介です。
C# に限らず、区切り文字を使った文字列の連結はちょっと面倒に感じることがあります。
たとえば、以下の例のような{"A","B","C"}のような配列を"A - B - C"みたいに繋げたいとき、どうしますか?
入力配列 | 出力値 |
---|---|
{"A","B","C"} | "A - B - C" |
{"A"} | "A" |
{} | "" |
.NET では、String に String.Join(String, String[]) というメソッドがありまして、これで上記を実現してくれます。
コード例
string[] arr = new string[]{ "A", "B", "C" }; Console.WriteLine(String.Join(" - ", arr)); // Output: "A - B - C"
便利。使わない理由はないと思う。
ただ、これ入力が String の配列なんで、int 型とか、他の型の配列はいちいち変換しなきゃいけない。
ただし、.NET Framework 4 以降は String.Join(String, Object[]) なんてオーバーロードが追加されまして、これが便利なんですわ。
一応コード例
int[] arr = new int[] { 1, 2, 3 }; // For C# 2.0 Console.WriteLine(String.Join(" - ", Array.ConvertAll(arr, delegate(int n) { return n.ToString(); }))); // For C# 3.0 or later Console.WriteLine(String.Join(" - ", Array.ConvertAll(arr, n => n.ToString()))); // For .NET Framework 4.0 or later Console.WriteLine(String.Join(" - ", arr));
使わんテはありまへんな! 今日のネタはこれだけ。それでは!
0 件のコメント:
コメントを投稿