C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C# での文字列出力について


(過去ログ 121 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■72780 / inTopicNo.1)  C# での文字列出力について
  
□投稿者/ shima_dunk (1回)-(2014/07/15(Tue) 15:28:44)

分類:[C#] 

お世話になっております

C#で、以下の様な文字列出力を試しました

============================
string foo = "foo";
Console.WriteLine( "'{0}'***'}'", foo );
============================
出力として
'foo'***'}'
を期待しましたが、実際には「入力文字列の形式が正しくありません」の実行時エラーになってしまいます。
ただし
============================
string foo = "foo";
Console.WriteLine( "'{0}'***'%'", foo );
============================
とすると
'foo'***'%'
と期待通りに出力されます。どなたかこの違いの原因を教えて頂けないでしょうか?


開発環境は、Visual Studio2010 Professional
Ver.10.0.40219 SP1Rel です

よろしくお願い致します
引用返信 編集キー/
■72781 / inTopicNo.2)  Re[1]: C# での文字列出力について
□投稿者/ Hongliang (208回)-(2014/07/15(Tue) 15:43:22)
複合書式指定において '{' または '}' をそのまま出力したい場合、エスケープする必要があります。
http://msdn.microsoft.com/ja-jp/library/txafckwd.aspx
引用返信 編集キー/
■72782 / inTopicNo.3)  Re[1]: C# での文字列出力について
□投稿者/ 魔界の仮面弁士 (51回)-(2014/07/15(Tue) 16:02:59)
No72780 (shima_dunk さん) に返信
> Console.WriteLine( "'{0}'***'}'", foo );
> ============================
> 'foo'***'}'
> を期待しましたが、実際には「入力文字列の形式が正しくありません」の実行時エラーになってしまいます。

その場合は、
 Console.WriteLine("'{0}'***'}}'", foo);
と記述する必要があります。

※理由については No72781 の Hongliang さんの回答を参照
引用返信 編集キー/
■72783 / inTopicNo.4)  Re[2]: C# での文字列出力について
□投稿者/ shima_dunk (2回)-(2014/07/15(Tue) 16:08:51)
解決しました。

>http://msdn.microsoft.com/ja-jp/library/txafckwd.aspx
色々調べてみましたが、「エスケープ中かっこ ({})」にたどり着けませんでした。
勉強になりました。ありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -