C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で文字列を連結する方法!String.Concat()の使い方を実例付きで解説

C#で文字列を連結(結合)するには、String.Concat()メソッドを使用します。この記事では、基本的な2つの文字列の連結から、文字列配列の一括連結まで、サンプルコードと実行結果を交えてわかりやすく解説します。

基本構文:2つの文字列を連結する

まずは、最もよく使われる形式です。

public static string Concat (string str1, string str2);

パラメータstr1str2には、連結したい2つの文字列を指定します。戻り値として、両者を結合した新しい文字列が返されます。

サンプルコード①:2つの文字列の連結

using System;
public class Demo {
   public static void Main(String[] args) {
      string str1 = "Jack";
      string str2 = "Sparrow";
      Console.WriteLine("String 1 = "+str1);
      Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode());
      Console.WriteLine("Does String1 begins with E? = "+str1.StartsWith("E"));
      Console.WriteLine("\nString 2 = "+str2);
      Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode());
      Console.WriteLine("Does String2 begins with E? = "+str2.StartsWith("E"));
      Console.WriteLine("\nString 1 is equal to String 2? = {0}", str1.Equals(str2));
      Console.WriteLine("Concatenation Result = "+String.Concat(str1,str2));
   }
}

実行結果

String 1 = Jack
HashCode of String 1 = 1167841345
Does String1 begins with E? = False
String 2 = Sparrow
HashCode of String 2 = -359606417
Does String2 begins with E? = False
String 1 is equal to String 2? = False
Concatenation Result = JackSparrow

この例では、「Jack」と「Sparrow」という2つの文字列に対して、ハッシュコードの取得や先頭文字の判定なども行っていますが、注目すべきは最後の行です。String.Concat(str1, str2)によって、2つの文字列がそのまま結合され、「JackSparrow」という結果が出力されています。

基本構文:文字列配列を連結する

次に、複数の文字列をまとめて連結できる形式を見てみましょう。

public static string Concat (params string[] arr);

パラメータarrには、連結対象となる文字列の配列を指定します。このオーバーロードを使えば、要素数が不定の文字列でも柔軟に処理できます。

サンプルコード②:配列の連結とJoin()との比較

using System;
public class Demo {
   public static void Main(string[] args) {
      string[] strArr = {"This", "is", "it", "!" };
      Console.WriteLine("String Array...");
      foreach(string s in strArr) {
         Console.WriteLine(s);
      }      
      Console.WriteLine("Concatenation = {0}",string.Concat(strArr));
      string str = string.Join("/", strArr);
      Console.WriteLine("Result (after joining) = " + str);
   }
}

実行結果

String Array...
This
is
it
!
Concatenation = Thisisit!
Result (after joining) = This/is/it/!

この例では、4つの要素を持つ文字列配列をstring.Concat()で連結すると「Thisisit!」のように区切り文字なしで結合される一方、string.Join()を使うと第1引数で指定した区切り文字「/」を挿入しながら「This/is/it/!」のように結合できることがわかります。

まとめ

  • String.Concat():文字列同士を区切り文字なしで単純に連結したい場合に使用します。
  • string.Join():区切り文字を挿入しながら連結したい場合に便利です。
  • どちらのメソッドも元の文字列を変更せず、新しい文字列を返します(C#の文字列は不変/immutableであるため)。

用途に応じてこれらのメソッドを使い分けることで、より読みやすく効率的な文字列処理が実現できます。

  1. C言語の文字列ライブラリ関数を具体例つきでわかりやすく解説

    C言語の文字列ライブラリ関数とは C言語には、文字列を扱うための定義済み関数が標準ライブラリ「string.h」に多数用意されています。これらの関数を活用することで、文字列の長さ取得・コピー・連結・比較・検索といった処理を簡単かつ効率的に実装できます。 本記事で紹介する主な文字列関数は以下の通りです。 strlen() strcmp() strcpy() strncmp() strncpy() strrev() strcat() strstr() strncat() strlen()関数 ― 文字列の長さを取得する strlen() は、文字列に含まれる文字数(長さ)を返す関数です。

  2. 【Ruby】文字列の連結と補間の基本をコード例付きで解説

    Rubyでプログラミングをしていると、複数の文字列を1つにまとめる処理が必要になる場面が頻繁にあります。 では、具体的にはどのような方法があるのでしょうか? 主な方法は2つあります: 文字列の連結(concatenation) 文字列の補間(interpolation) +演算子による文字列の連結 連結の基本形は次のとおりです: a = Nice to meet you b = , c = do you like blueberries? a + b + c # Nice to meet you, do you like blueberries? +演算子を使うと、ある文字列に別