このエントリーをはてなブックマークに追加


C#でよくある文字列の先頭の@について

C#のプログラムを見ると以下のようなString変数に文字列を代入するとき、
アットマーク(@)が先頭についていることが多いですよね。
これは、エスケープ文字(\)を入力しなくても良いという利点がありますが、副作用?もあります。
以下にサンプルコードと実行結果を紹介します。

@をつけた文字列と@が無い文字列

以下に@があるHello world文字列と@が無いHello world文字列を定義し、
メッセージボックスに文字列を表示します。

using System;
using System.Windows.Forms;

class Program
{
    static void Main(string[] args)
    {
        String s1 = @"Hello\nworld\n";
        String s2 = "Hello\nworld\n";
        MessageBox.Show(s1, "s1");
        MessageBox.Show(s2, "s2");
    }
}

実行結果

以下のキャプチャの通り、@をつけると、\nが改行と認識されずそのまま表示されます。
@がない場合は、\nが改行として認識され表示されます。

@あり@なし
01.png02.png

以上、C#で文字列定義の先頭に@が付いている場合の動作説明でした。


添付ファイル: file02.png 209件 [詳細] file01.png 185件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-02 (月) 20:32:12