2020年10月25日
川俣晶の縁側ソフトウェアC# コーディング How To total 956 count

【入門級】文字列定数の3つの書き方を比較する

Written By: 川俣 晶連絡先

最も長いのはどれ? §

 サンプルソースには3つの文字列定数が書き込まれている。

 それぞれ変数s1からs3に代入されている。

 この中で表示して最も長い文字列になるのはどれ?

罠の数々 §

  • ポイントは【円記号(バックスラッシュ)が特別な意味を発揮するのはどの記法か】と【波括弧内の数式を計算してしまうのはどの記法か】だ!

参考リンク §

文字列 (C# プログラミング ガイド)

 上記のリンクを踏んで、【標準リテラル文字列と逐語的リテラル文字列】と【文字列補間】を比較して見よう。そして、なぜ【文字列補間】だけ別になっているのか理由を考えてみよう。

リポジトリ §

https://github.com/autumn009/cshowto

StringConstant §

using System;

class Program

{

    static void Main()

    {

        var s1 = "\\{1 + 2}";

        var s2 = @"\\{1 + 2}";

        var s3 = $"\\{1 + 2}";

        Console.WriteLine(s1);

        Console.WriteLine(s2);

        Console.WriteLine(s3);

    }

}

実行結果

\{1 + 2}

\\{1 + 2}

\3

(つまり、答は2番目)

COOL C# CREW

C#ハウツー連載の解説増量、カラーのソース、新規書き下ろし追加の読みやすい単行本はこちら。

C#ハウツー: 逆引き入門・こんな機能はどう書くの?