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

C#で複数行の文字列リテラルを定義する方法をわかりやすく解説

C#では、改行を含む長いテキストをそのままコードに記述したい場面がよくあります。たとえば、次のような文字列を扱うケースを考えてみましょう。

Welcome User, Kindly wait for the image to load

この文字列を複数行に分けて記述するには、文字列の先頭に @(アットマーク) を付ける「逐語的識別子(verbatim identifier)」を使用します。通常の文字列リテラルでは改行やエスケープシーケンスの処理が必要ですが、@ を付けることで、ソースコード上の見た目のまま文字列を定義できます。

@ を使った複数行文字列の基本的な書き方

まず、次のように @ を付けた文字列リテラルを宣言します。

string str = @"Welcome User,
Kindly wait for the image to
load";

このように記述すると、ダブルクォート内の改行がそのまま文字列の改行として反映されます。エスケープシーケンス(\n など)を書く必要がないため、パスやSQL文、HTMLなどを読みやすく記述できるのも大きなメリットです。

サンプルプログラム

実際に複数行の文字列を定義してコンソールに表示する完全なコード例を見てみましょう。

using System;

namespace Demo {

    class Program {

        static void Main(string[] args) {
            string str = @"Welcome User,
            Kindly wait for the image to
            load";

            Console.WriteLine(str);
        }
    }
}

実行結果

プログラムを実行すると、改行が保持された状態で文字列が出力されます。

Welcome User,
Kindly wait for the image to
load

補足:C#11以降の生文字列リテラル

.NET 7 以降(C#11)では、さらに便利な「生文字列リテラル(raw string literals)」として、3つ以上のダブルクォート """ を使った記法も利用できます。JSONなどの複雑なテキストを埋め込む場合には、こちらの方がより直感的に記述できます。

string str = """
Welcome User,
Kindly wait for the image to
load
""";

用途に応じて @ 構文と生文字列リテラルを使い分けることで、可読性の高いコードを書くことができます。

  1. C#でジャグ配列を定義する方法|宣言・初期化・要素アクセスの基本

    ジャグ配列(Jagged Array)とはジャグ配列とは、簡単に言えば「配列の配列」のことです。通常の二次元配列と異なり、各行の要素数を個別に設定できるため、柔軟なデータ構造を実現できるのが大きな特徴です。C#でint型のジャグ配列「points」を定義するには、次のように宣言します。int [][] points;ジャグ配列の初期化方法宣言したジャグ配列は、作成時に各要素となる配列を同時に初期化できます。以下のように、波括弧の中にさらに配列を記述していきます。int[][] points = new int[][]{new int[]{10,5},new int[]{30,40}, new

  2. 【C#入門】イベントの宣言方法をサンプルコードで解説

    イベントとは、キーの押下、マウスのクリック、マウスの移動といったユーザーアクションや、システムが生成する通知など、プログラムの内外で発生する何らかの出来事を指します。イベントはクラス内で宣言・発生させられ、デリゲートを使用してイベントハンドラーに関連付けられます。この関連付けは、同じクラス内でも別のクラスでも行うことが可能です。そして、イベントを保持しているクラスが、そのイベントを外部に公開(パブリッシュ)する役割を担います。クラス内でイベントを宣言するには、まずそのイベントのためのデリゲート型を宣言する必要があります。例えば、以下のように記述します。public delegate strin