[解決済み] C#6 の長い文字列の補間行
2022-05-10 14:16:10
質問
既存のコード ベースの文字列 Format 呼び出しに文字列補間を適用するととてもよいのですが、一般に望ましい列数の制限を考えると、文字列が急速に長くなりすぎて 1 行に収まらなくなることが分かっています。 特に、補間される式が複雑な場合はそうです。 フォーマット文字列では、変数のリストがあり、複数の行に分割することができます。
var str = string.Format("some text {0} more text {1}",
obj1.property,
obj2.property);
どなたか、これらの行を分割する好ましい方法をご存じないでしょうか?
というようなことができるかと思います。
var str = $"some text { obj1.property }" +
$" more text { obj2.property };
どのように解決するのですか?
あなたは ができます。 で複数行に分割できますが、構文の見た目はもういいとは言えませんね。
を使用する必要があります。
$@
構文を使って、補間された
逐語的
文字列を使用し、改行を
{...}
パラメータの中に改行を入れることができます。
string s = $@"This is all {
10
} going to be one long {
DateTime.Now
} line.";
上の文字列は改行を含まず、実際には次のような内容になります。
これはすべて10が1つの長い01.08.2015 23.49.47の行になります。
(注、ノルウェー語のフォーマット)
さて、そうは言っても、私なら
string.Format
. 私見では、このような文字列の補間表現はとても良いのですが、より複雑なものは非常に読みづらくなってきます。ということを考えると
FormattableString
を使わない限り,このコードは
String.Format
とにかく、私はこのまま
String.Format
を使い続けることです。
関連
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] C#のマルチライン文字列リテラル
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み] IList<string> または IEnumerable<string> からカンマ区切りリストを作成する。
-
[解決済み] 補間文字列の内部で三項演算子を使用するには?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】文字列の中にある文字列(実際はchar)の出現回数を数えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】IntPtrとは一体何なのか?
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] C#の改行文字
-
[解決済み] C#のマルチライン文字列リテラル