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 """;
用途に応じて @ 構文と生文字列リテラルを使い分けることで、可読性の高いコードを書くことができます。
-
C#でジャグ配列を定義する方法|宣言・初期化・要素アクセスの基本
ジャグ配列(Jagged Array)とはジャグ配列とは、簡単に言えば「配列の配列」のことです。通常の二次元配列と異なり、各行の要素数を個別に設定できるため、柔軟なデータ構造を実現できるのが大きな特徴です。C#でint型のジャグ配列「points」を定義するには、次のように宣言します。int [][] points;ジャグ配列の初期化方法宣言したジャグ配列は、作成時に各要素となる配列を同時に初期化できます。以下のように、波括弧の中にさらに配列を記述していきます。int[][] points = new int[][]{new int[]{10,5},new int[]{30,40}, new
-
【C#入門】イベントの宣言方法をサンプルコードで解説
イベントとは、キーの押下、マウスのクリック、マウスの移動といったユーザーアクションや、システムが生成する通知など、プログラムの内外で発生する何らかの出来事を指します。イベントはクラス内で宣言・発生させられ、デリゲートを使用してイベントハンドラーに関連付けられます。この関連付けは、同じクラス内でも別のクラスでも行うことが可能です。そして、イベントを保持しているクラスが、そのイベントを外部に公開(パブリッシュ)する役割を担います。クラス内でイベントを宣言するには、まずそのイベントのためのデリゲート型を宣言する必要があります。例えば、以下のように記述します。public delegate strin