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

» 2005年10月21日 05時00分 公開
[遠藤孝信デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「.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.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。