検索
連載

文字列配列内の文字列を連結するには?.NET TIPS

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「.NET TIPS」のインデックス

連載目次

 文字列配列に格納されている各文字列を連結して1つの文字列を作成するには、Stringクラス(System名前空間)の静的メソッドであるJoinメソッドを使用する。

 Joinメソッドでは、第1パラメータに「区切り文字列」を、第2パラメータに対象となる文字列配列を指定する。

result = String.Join(区切り文字列, 文字列配列)

 区切り文字列は文字列を連結する際に各要素間に挿入される文字列である。区切り文字列が不要な場合には、空文字列("")あるいはnull(VB.NETの場合はNothing)を指定すればよい。

 以下にJoinメソッドを使用したサンプル・プログラムを示す。

// join.cs

using System;

public class JoinTest {
  static void Main() {
    string result;
    string[] data = {"リンゴ", "みかん", "バナナ"};

    result = String.Join(",", data);
    Console.WriteLine(result);
    // 出力:リンゴ,みかん,バナナ

    result = String.Join("", data);
    Console.WriteLine(result);
    // 出力:リンゴみかんバナナ

    result = String.Join(null, data);
    Console.WriteLine(result);
    // 出力:リンゴみかんバナナ
  }
}

// コンパイル方法:csc join.cs

Joinメソッドを使用したC#のサンプル・プログラム(join.cs)
join.csのダウンロード

 

' join.vb

Imports System
Imports Microsoft.VisualBasic

Public Class JoinTest
  Shared Sub Main()
    Dim result As String
    Dim data As String() = {"リンゴ", "みかん", "バナナ"}

    result = String.Join(",", data)
    Console.WriteLine(result)
    ' 出力:リンゴ,みかん,バナナ

    result = String.Join("", data)
    Console.WriteLine(result)
    ' 出力:リンゴみかんバナナ

    result = String.Join(Nothing, data)
    Console.WriteLine(result)
    ' 出力:リンゴみかんバナナ

    '''''''''''''''''''''''''''''''''''''''''
    result = Join(data) ' 区切り文字省略
    Console.WriteLine(result)
    ' 出力:リンゴ みかん バナナ

    Dim data2 As Object() = {123, Math.PI, DateTime.Now}

    result = Join(data2, "/") ' Object型配列の連結
    Console.WriteLine(result)
    ' 出力:123/3.14159265358979/2005/10/19 14:13:26

  End Sub
End Class

' コンパイル方法:vbc join.vb

Joinメソッドを使用したVB.NETのサンプル・プログラム(join.vb)
join.vbのダウンロード

 VB.NETにはJoinメソッドと同じ用途のJoin関数(Microsoft.VisualBasic名前空間)が用意されており、上記VB.NET版サンプル・プログラムの最後の2つの例はこれを使用している。

 VB.NETのJoin関数では区切り文字列の指定を省略でき、省略した場合には区切り文字列として半角スペースが使用される。また、対象となる配列は文字列配列でなくてもよく、整数型やDouble型、日付型(DateTime型)などの基本的な型がサポートされている。

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
使用ライブラリ:Join関数(Microsoft.VisualBasic名前空間)

「.NET TIPS」のインデックス

.NET TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る