1. ホーム
  2. c#

[解決済み] なぜString.Formatを使用するのですか?重複

2022-04-21 04:59:06

質問

なぜ String.Format は、C# や VB .NET では、連結演算子 ( & はVBで、そして + C#の場合)?

主な違いは何ですか?なぜみんな String.Format ? とても気になりますね。

どのように解決するのですか?

理由はいくつも考えられますね。

<強い 読みやすさ

string s = string.Format("Hey, {0} it is the {1}st day of {2}.  I feel {3}!", _name, _day, _month, _feeling);

vs:

string s = "Hey," + _name + " it is the " + _day + "st day of " + _month + ".  I feel " + feeling + "!";

フォーマット指定子 (これにはカスタムフォーマッタを書くことができることも含まれます)

string s = string.Format("Invoice number: {0:0000}", _invoiceNum);

vs:

string s = "Invoice Number = " + ("0000" + _invoiceNum).Substr(..... /*can't even be bothered to type it*/)

文字列テンプレートの永続化

文字列テンプレートをデータベースに保存したい場合はどうすればよいのでしょうか? 文字列の書式設定で

_id         _translation
  1         Welcome {0} to {1}.  Today is {2}.
  2         You have {0} products in your basket.
  3         Thank-you for your order.  Your {0} will arrive in {1} working days.

vs:

_id         _translation
  1         Welcome
  2         to
  3         .  Today is
  4         . 
  5         You have
  6         products in your basket.
  7         Someone
  8         just shoot
  9         the developer.