7

から複製:文字列出力:C#でフォーマットまたは連結?

特に C# の世界では、すべてに String.Format を使用することは非常に一般的です。通常、VB.NET 開発者として、必要がない限り*私は String.Format を使用しません。

次のような通常の文字列連結を好みます。

V1 = V2 & "test-x" & V3 & "-;"

私にはこれよりも優れています:

V1 = String.Format("{0} test-x {1} -;", V2, V3)

何か不足していますか?それともこれは単なる個人的な好みですか?

String.Format を使用する理由 (回答から) (これを最新の状態に保つように努めます)

  • 文字列形式を使用すると、ローカライズが非常に簡単になります
  • 明らかに、入力の形式を変更する方が簡単です
  • より読みやすくなります(ただし、これは個人的なものです
  • よりよい性能

**スタイルを変更したり動的に置き換えたりする必要がある場合は、String.Format を使用します*

4

8 に答える 8

14

アプリケーションをローカライズする予定がある場合 (最初からそれを除外するのは難しい場合が多い)、次の 2 つの理由から String.Format を使用することをお勧めします。

  1. 翻訳する文字列リテラルは 1 つだけです
  2. 値の順序を変更することができます。これは、別の言語ではより意味がある場合があります。
于 2008-12-08T14:19:20.033 に答える
5

誰もが string.format の可読性について投稿しています (私はそれを受け入れ、null ref と国際化の利点があります) が単純な文字列連結 (少数の要素) または StringBuilder の使用 (多数の連結)。

パフォーマンスが重要な場合、または多数の操作を実行している場合 (パフォーマンスはすぐ重要になります)、フォーマットを避ける必要があります。

編集:要求に応じて参照;)

http://msmvps.com/blogs/jon_skeet/archive/2008/10/06/formatting-strings.aspx

http://blog.briandicroce.com/2008/02/04/stringbuilder-vs-string-performance-in-net/

于 2008-12-08T14:22:57.857 に答える
3

Karl Seguin による素敵な記事: code better - use string.formatでいくつかの利点が説明されています。

于 2008-12-08T14:15:55.857 に答える
1

最初の方法は非常に読みにくく、入力するのはさらに面倒です。また、これらの連結を何度も行うようになると、パフォーマンスに関する考慮事項について考慮する必要があります。

于 2008-12-08T14:16:40.880 に答える
1

実際に値 ({0:d} など) をフォーマットしている場合、String.Format は文字列連結よりもはるかに読みやすくなります。

于 2008-12-08T14:17:13.687 に答える
1

私の場合は内容によります。文字列を連結すると、追加の文字列オブジェクトが作成されます (文字列は .NET では不変であるため) が、主に読みやすさの問題です。

文字列に改行文字を配置したい場合、複雑になることがあります。その場合、私は次のようなものを使用する傾向があります。

StringBuilder.AppendLine(string.Format("Some text {0}.", "here"));
于 2008-12-08T14:18:32.157 に答える
0

個人的には、String.Format の方が読みやすいと思います。文字列は 1 つの連続したテキストとして表示されます。ただし、パラメーターの数によって異なりますが、それを理解するために適切なパラメーターを探す必要がある場合は...

于 2008-12-08T14:15:02.053 に答える
0

好みの問題だと思います。しかし、定期的に使用し始めると、ほとんどのチームがそれに倣いました。私たちがそれについて話し合ったとき、理解しやすく読みやすいだけであることに同意しました.

于 2008-12-08T14:20:35.817 に答える