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

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

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

Re[4]: 文字列中での改行


(過去ログ 92 を表示中)

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

■54982 / inTopicNo.1)  文字列中での改行
  
□投稿者/ nana88 (1回)-(2010/11/12(Fri) 17:04:11)

分類:[.NET 全般] 

C#で文字列中での改行方法について教えてください。

書式文字列の部分が以下の感じでたくさんあったとして

String.Format("{0},{1},{2},{3},{4}…{10}", name, address, number, …, lastdata);

あまりにも長いので改行して見やすくしたいのですが、方法はありますでしょうか?

回答いただけると助かります。
よろしくよろしくお願いします。

引用返信 編集キー/
■54983 / inTopicNo.2)  Re[1]: 文字列中での改行
□投稿者/ 魔界の仮面弁士 (1926回)-(2010/11/12(Fri) 17:30:32)
No54982 (nana88 さん) に返信
> String.Format("{0},{1},{2},{3},{4}…{10}", name, address, number, …, lastdata);
> あまりにも長いので改行して見やすくしたいのですが

変換結果の話だとすれば、書式指定の
 "{0},{1},{2},{3},{4}…{10}"
に対して、改行させたい箇所に
 "{0},{1},\r\n{2},{3},\r\n{4}…{10}"
のように「\r\n」を埋め込めば OK です。
http://dobon.net/vb/dotnet/string/controlchars.html


コード自体の話だとすれば、
  s = String.Format("{0},{1},{2},{3},{4}…{10}",   //{10}ではなく {10}
        name,
        address,
        number,
        …,
        lastdata);
のように、適当に千切る事ができます。書式部が長すぎると思うなら、
  s = String.Format(
         "{0},{1},{2},"
       + "{3},{4}…{10}",
        name, address, number,
        …, lastdata);
のように、文字列同士を + 演算子でつなげれば OK。

引用返信 編集キー/
■54988 / inTopicNo.3)  Re[2]: 文字列中での改行
□投稿者/ nana88 (2回)-(2010/11/12(Fri) 19:23:15)
No54983 (魔界の仮面弁士 さん) に返信

ありがとうございます。

書式部の改行でした。
説明足らずで申し訳ありません。

+しないとだめなんですね。
数万回ループする処理のためレスポンスが気になるので
長いままにしておきます。

ありがとうございました。
引用返信 編集キー/
■54992 / inTopicNo.4)  Re[3]: 文字列中での改行
□投稿者/ aetos (347回)-(2010/11/12(Fri) 20:44:19)
No54988 (nana88 さん) に返信
> +しないとだめなんですね。
> 数万回ループする処理のためレスポンスが気になるので
> 長いままにしておきます。

文字列リテラルを + で繋ぐのはコンパイル時に連結されて1つの文字列になりますよね、確か?
スピードは落ちないはずです。たぶん。
引用返信 編集キー/
■54993 / inTopicNo.5)  Re[4]: 文字列中での改行
□投稿者/ ゆう@ (5回)-(2010/11/12(Fri) 21:40:27)
No54992 (aetos さん) に返信
> 文字列リテラルを + で繋ぐのはコンパイル時に連結されて1つの文字列になりますよね、確か?
> スピードは落ちないはずです。たぶん。
Stringは毎回インスタンス生成しませんでしたっけ?
その分パフォーマンスに影響を与えたような。
速度を気にするようでしたら、
StringBuilderを使用してみたらどうでしょうか。
引用返信 編集キー/
■54994 / inTopicNo.6)  Re[4]: 文字列中での改行
□投稿者/ 魔界の仮面弁士 (1927回)-(2010/11/12(Fri) 22:17:39)
No54992 (aetos さん) に返信
> 文字列リテラルを + で繋ぐのはコンパイル時に連結されて1つの文字列になりますよね、確か?

ですね。一つの長い文字列としてコンパイルされます。

変数と繋いだ場合は駄目ですけど。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -