[解決済み] C#で文字を繰り返し表示する最適な方法
2022-03-22 23:50:34
質問
の文字列を生成するのに最適な方法は何ですか?
\t
C#で
私はC#を学習しており、同じことを言うさまざまな方法を実験しています。
Tabs(uint t)
を返す関数です。
string
と
t
量
\t
's
例えば
Tabs(3)
リターン
"\t\t\t"
この3つの実装方法のうち、どれが
Tabs(uint numTabs)
がベストでしょうか?
もちろん、それは「ベスト」の意味にもよりますが。
-
LINQ版は2行で済むからいいよね。 しかし、RepeatやAggregateの呼び出しは不必要に時間やリソースを消費していないでしょうか?
-
その
StringBuilder
のバージョンは非常にわかりやすいですが、これはStringBuilder
クラスはなぜか遅くなる? -
は
string
のバージョンは基本的なもので、つまり理解しやすいものです。 -
全く問題ないのでしょうか? みんな平等なんですか?
これらはすべて、私がC#をよりよく理解するための質問です。
private string Tabs(uint numTabs)
{
IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs);
return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : "";
}
private string Tabs(uint numTabs)
{
StringBuilder sb = new StringBuilder();
for (uint i = 0; i < numTabs; i++)
sb.Append("\t");
return sb.ToString();
}
private string Tabs(uint numTabs)
{
string output = "";
for (uint i = 0; i < numTabs; i++)
{
output += '\t';
}
return output;
}
解決方法は?
これについてはどうでしょうか。
string tabs = new string('\t', n);
ここで
n
は文字列を何回繰り返すかです。
あるいはもっといい。
static string Tabs(int n)
{
return new string('\t', n);
}
関連
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み] .NETで文字列を改行で分割する最も簡単な方法とは?
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み] 文字列を繰り返す簡単な方法
-
[解決済み] アプリケーションフォルダのパスを取得する最適な方法
-
[解決済み】文字列から句読点を除去する最適な方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み] 2つのリストを結合する
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] X回繰り返される文字列を簡単に返す方法はありますか?