string c = tmpArr[0].Aggregate(string.Empty, (current, m) => current + (m.Name + " "));
StringBuilder sb = new StringBuilder();
foreach (Mobile m in tmpArr[0])
sb.Append(m.Name + " ");
sb.ToString();
這兩個哪個更快?總肯定是清潔的,但它是快還是一樣做StringBuilder真的比Aggreggate更快嗎?
foreach(Mobile m in tmpArr[0])
c += m.Name + " ";
我真的想要做什麼是一樣的東西string.Join(",",tmpArr[0])
,但我不希望它Concat的自己的ToString值,只是他們名字,我會如何做到最好?
我的問題,不使用string.Join
是我真的不得不做這樣的事情:如果你在一個循環中添加字符串(c += m.Name + " ";
)
string separator = "";
StringBuilder sb = new StringBuilder();
foreach (Mobile m in tmpArr[0])
{
separator = ", ";
sb.Append(separator + m.Name);
}
你測試了嗎?你的結果是什麼決定的? – 2011-03-29 13:47:08
你期望有多少元素?如果它不是很多,速度就不會像代碼的清潔一樣重要。根據大小找出最糟糕的情況,測量結果,確定哪些折衷是可接受的。 – 2011-03-29 13:54:50
-1,此外,它甚至重要嗎?除非你有10-20,000個名字連接在一起,否則我懷疑你會注意到有什麼不同。 – user7116 2011-03-29 13:55:06