.NET ヘルプ

C# String.Join(開発者向けの使い方)

更新済み 4月 3, 2024
共有:

C#において、String.Joinは強力なメソッドであり、文字列の連結に使用されます。これにより、配列やコレクションから個々の文字列を単一の文字列に結合することができます。 String.join このメソッドには、少なくとも2つのパラメーターが必要です。文字列セパレーターと結合する要素の配列またはコレクションです。 セパレータは、結果の文字列内のすべての要素の間に挿入されます。 この関数は、カンマ、スペース、またはカスタム文字など、特定の区切り文字で複数の文字列を連結する必要がある場合に便利です。 この記事では、String.Join メソッドについて取り上げます。 IronPDFライブラリ.

String.Joinの構文

String.Join メソッドは、C# でいくつかのオーバーロードがあり、それぞれ異なるニーズに対応するように設計されています。 最も一般的に使用される構文は次の通りです:

public static string Join(string separator, params string [] value);
public static string Join(string separator, IEnumerable<string> values);
public static string Join<T>(string separator, IEnumerable<T> values);
public static string Join(string separator, params object [] values);
public static string Join(string separator, string [] value, int startIndex, int count);
public static string Join(string separator, params string [] value);
public static string Join(string separator, IEnumerable<string> values);
public static string Join<T>(string separator, IEnumerable<T> values);
public static string Join(string separator, params object [] values);
public static string Join(string separator, string [] value, int startIndex, int count);
public static String Join(String separator, params String () value)
public static String Join(String separator, IEnumerable(Of String) values)
public static String Join(Of T)(String separator, IEnumerable(Of T) values)
public static String Join(String separator, params Object () values)
public static String Join(String separator, String () value, Integer startIndex, Integer count)
VB   C#

各オーバーロードは、文字列やオブジェクトを組み合わせる方法に柔軟性を提供します。 オーバーロードの選択は、連結する要素のデータ型、および配列、コレクション、または異なるオブジェクトタイプの混在を扱っているかどうかに依存します。

String.Join のパラメータ

String.Join のパラメータを理解することは、その効果的な使用に不可欠です。

  • separator: 連結された文字列の各要素の間で使用する区切り文字を指定するStringです。 null の場合、区切り文字には空の文字列が使用されます。
  • : params string []連結する要素を含む配列。 このパラメーターは任意の数の文字列引数を受け取ることができます。
  • : IEnumerable または IEnumerable結合する要素を保持するコレクション。 これは、ToStringメソッドを呼び出すことによって、より複雑な型を連結することを可能にします。
  • startIndex: 要素の結合を開始する配列内の最初の位置を定義するintです。

  • count: startIndex から始まる要素を連結する数を指定する int

    これらのパラメータを利用することで、文字列の結合方法を微調整し、要素の含みを制御し、セパレーターの配置を管理できます。

文字列結合の基本的な使い方

String.Join メソッドの使用方法についての簡単な例を見てみましょう。 次のように、コンマを文字列区切りとして使用して文字列の配列を連結したいとします:

public static void Main()
{
    string [] array = new string [] { "apple", "banana", "cherry" };
    string result = String.Join(", ", array);
    Console.WriteLine(result);
}
public static void Main()
{
    string [] array = new string [] { "apple", "banana", "cherry" };
    string result = String.Join(", ", array);
    Console.WriteLine(result);
}
Public Shared Sub Main()
	Dim array() As String = { "apple", "banana", "cherry" }
	Dim result As String = String.Join(", ", array)
	Console.WriteLine(result)
End Sub
VB   C#

上記の例では、出力は次のようになります:

apple, banana, cherry
apple, banana, cherry
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'apple, banana, cherry
VB   C#

以下にString.Joinが2つのパラメータを取ります。最初のパラメータはカンマとスペースです。 (「、」) 文字列を結合するための最初の引数は区切り文字列で、二番目の引数は結合する文字列配列です。 戻り文字列は、指定された区切り文字で区切られた配列内のすべての要素を連結した単一の文字列です。

異なるタイプの配列を結合する

String.Joinは、string以外の型の配列も結合できます。 例えば、整数の配列があり、それらの文字列表現を連結したい場合、簡単に行うことができます。

public static void Main()
{
    int [] numbers = new int [] { 1, 2, 3 };
    string result = String.Join(", ", numbers);
    Console.WriteLine(result);
}
public static void Main()
{
    int [] numbers = new int [] { 1, 2, 3 };
    string result = String.Join(", ", numbers);
    Console.WriteLine(result);
}
Public Shared Sub Main()
	Dim numbers() As Integer = { 1, 2, 3 }
	Dim result As String = String.Join(", ", numbers)
	Console.WriteLine(result)
End Sub
VB   C#

このコードは次の出力を生成します:

1, 2, 3
1, 2, 3
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'1, 2, 3
VB   C#

このメソッドは配列の各要素に対して自動的に ToString メソッドを呼び出し、それらを文字列に変換して結合します。 これは、さまざまなデータ型を処理する際のString.Joinの多用途性を示しています。

関連する文字列操作メソッド

以下は、C#で様々なシナリオに役立つString.Join以外の文字列操作メソッドです:

文字列連結

String.Concatは、セパレータを使用せずにオブジェクト配列の要素や文字列配列の文字列を連結するために使用されます。 区切り文字を要素間に挿入する必要がない場合は、String.Joinよりもシンプルです。

string concatenatedString = String.Concat("Hello", " ", "World");
// Output: "Hello World"
string concatenatedString = String.Concat("Hello", " ", "World");
// Output: "Hello World"
Dim concatenatedString As String = String.Concat("Hello", " ", "World")
' Output: "Hello World"
VB   C#

String.Split(ストリング・スプリット)

String.Split メソッドは、複数のデリミタに基づいて単一の文字列を文字列の配列に分割することにより、String.Join の反対の操作を行います。

string [] words = "Hello World from C#".Split(' ');
// Output: ["Hello", "World", "from", "C#"]
string [] words = "Hello World from C#".Split(' ');
// Output: ["Hello", "World", "from", "C#"]
Dim words() As String = "Hello World from C#".Split(" "c)
' Output: ["Hello", "World", "from", "C#"]
VB   C#

文字列.Replace

String.Replaceは、文字列内の特定のサブストリングまたは文字を別のサブストリングまたは文字に置き換えるために使用されます。 文字列の特定の部分を変更するのに役立ちます。

string replacedString = "Hello World".Replace("World", "C#");
// Output: "Hello C#"
string replacedString = "Hello World".Replace("World", "C#");
// Output: "Hello C#"
Dim replacedString As String = "Hello World".Replace("World", "C#")
' Output: "Hello C#"
VB   C#

文字列のトリム

これらのメソッドは、文字列の先頭および末尾からすべての空白または指定された文字を削除するために使用されます。 Trimは先頭と末尾のスペースを削除し、String.TrimStartString.TrimEndはそれぞれ文字列の先頭または末尾からスペースを削除します。

string trimmedString = " Hello World ".Trim();
// Output: "Hello World"
string trimmedString = " Hello World ".Trim();
// Output: "Hello World"
Dim trimmedString As String = " Hello World ".Trim()
' Output: "Hello World"
VB   C#

これらの各メソッドは、文字列操作の領域で特定の目的を果たします。 彼らは開発者が文字列を多用途かつ効率的に扱うことを可能にし、String.Joinが提供する機能を補完します。

IronPDF: C# PDFライブラリ

IronPDF は、.NET開発者向けに設計された包括的なライブラリであり、C#アプリケーション内でPDFドキュメントの生成、操作、およびレンダリングを容易にします。 IronPDFは、開発者が豊かな HTMLからのPDFドキュメント、画像またはテキストから直接。

String.Joinは、IronPDFを使用するときに特に役立ちます。 例えば、開発者は複数の文字列を連結するためにString.Joinを使用できます。例えば、HTMLの行や段落を単一の文字列にまとめることができます。 この連結された文字列は、IronPDFの機能を使用して簡単にPDF文書に変換できます。

コード例: String.Joinを用いたIronPDFの利用

以下のコードは、複数の文字列からC#でPDFドキュメントを作成するためにString.JoinをIronPDFと併用する方法を示す簡単な例です:

using IronPdf;
public class PdfGenerationExample
{
    public static void Main()
    {
        License.LicenseKey = "License-Key";
        // Array of strings representing HTML paragraphs
        string [] htmlParagraphs = new string []
        {
            "<p>This is the first paragraph.</p>",
            "<p>This is the second paragraph.</p>",
            "<p>This is the third paragraph.</p>"
        };
        // Using String.Join to concatenate HTML paragraphs with a newline as separator
        string htmlContent = String.Join("\n", htmlParagraphs);
        // Initialize the HTML to PDF converter
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        pdf.SaveAs("Example.pdf");
    }
}
using IronPdf;
public class PdfGenerationExample
{
    public static void Main()
    {
        License.LicenseKey = "License-Key";
        // Array of strings representing HTML paragraphs
        string [] htmlParagraphs = new string []
        {
            "<p>This is the first paragraph.</p>",
            "<p>This is the second paragraph.</p>",
            "<p>This is the third paragraph.</p>"
        };
        // Using String.Join to concatenate HTML paragraphs with a newline as separator
        string htmlContent = String.Join("\n", htmlParagraphs);
        // Initialize the HTML to PDF converter
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        pdf.SaveAs("Example.pdf");
    }
}
Imports Microsoft.VisualBasic
Imports IronPdf
Public Class PdfGenerationExample
	Public Shared Sub Main()
		License.LicenseKey = "License-Key"
		' Array of strings representing HTML paragraphs
		Dim htmlParagraphs() As String = { "<p>This is the first paragraph.</p>", "<p>This is the second paragraph.</p>", "<p>This is the third paragraph.</p>" }
		' Using String.Join to concatenate HTML paragraphs with a newline as separator
		Dim htmlContent As String = String.Join(vbLf, htmlParagraphs)
		' Initialize the HTML to PDF converter
		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML string to a PDF document
		Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
		' Save the PDF to a file
		pdf.SaveAs("Example.pdf")
	End Sub
End Class
VB   C#

この例では、String.Join を使用して、複数のHTML段落文字列を改行文字で区切って1つのHTML文字列に結合します。 この文字列は、IronPDFの RenderHtmlAsPdf メソッドを使用してPDFドキュメントに変換されます。

C# String.Join(開発者向けの動作方法):図1 - 複数のHTML文字列を一つのHTML文字列に結合するためのString.Joinを使用したコード出力

結論

C# String.Join (開発者向けの仕組み): 図2 - IronPDF のライセンス情報

C# の Join メソッドは、指定された区切り文字を使用して文字列要素を連結する強力かつ効率的な方法です。 そのパラメーターとオーバーロードを理解することで、開発者は単純な文字列配列から複雑なオブジェクトコレクションまで、さまざまなデータ型とシナリオを扱うことができます。 適切な使用により、コードが簡素化されるだけでなく、最適化されたメモリ管理を通じてパフォーマンスも向上します。

IronPDFは、開発者にその機能を試す機会を提供します。 無料試用 オプションは $749 から始まります。

< 以前
C# オブジェクト指向 (開発者向けの仕組み)
次へ >
C# ジェネリクス(開発者向けの仕組み)

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >