StringBuilder的是真的比Aggreggate快? [英] Is StringBuilder really faster than Aggreggate?
问题描述
串c = tmpArr [0] .Aggregate(的String.Empty,(目前,M)=>当前+(m.Name +));
StringBuilder的SB =新的StringBuilder();
的foreach(在tmpArr移动M [0])
sb.Append(m.Name +);
sb.ToString();
其中的两个是比较快?总肯定是清洁的,但它是快还是一样做
的foreach(移动米tmpArr [0])
C + = m.Name +;
我真正希望做的是一样的东西的string.join( ,tmpArr [0])
,但我不希望它Concat的自己的ToString值,只是他们的名字,我会怎么做,最好的?
我的问题,没有使用的string.join
是我居然会做这样的事情:
字符串分隔符=;
StringBuilder的SB =新的StringBuilder();
的foreach
{
隔板=,(在tmpArr [0]移动米);
sb.Append(隔板+ m.Name);
}
块引用>
的string.join(,tmpArr [0]。选择(T => t.Name).ToArray())
但大部分时间的 它。只是。不。事!
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();
which of those two is faster? aggregate certainly is cleaner, but is it fast or is it the same as doing
foreach(Mobile m in tmpArr[0]) c += m.Name + " ";
what I really would like to do is something like
string.Join(",",tmpArr[0])
, but I don't want it to concat their ToString values, just their Names, how would I do that best?my problem with not using
string.Join
is I would actually have to do something like this:string separator = ""; StringBuilder sb = new StringBuilder(); foreach (Mobile m in tmpArr[0]) { separator = ", "; sb.Append(separator + m.Name); }
解决方案I don't want it to concat their ToString values, just their Names, how would I do that best?
string.Join(",",tmpArr[0].Select(t => t.Name).ToArray())
But most of the time It. Just. Doesn't. Matter!
这篇关于StringBuilder的是真的比Aggreggate快?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!