\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;
}