加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – StringBuilder真的比Aggreggate快吗?

发布时间:2020-12-15 20:48:36 所属栏目:百科 来源:网络整理
导读: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(); 哪两个更快?聚合肯定是更干净,但它是快速还
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();

哪两个更快?聚合肯定是更干净,但它是快速还是与做的一样

foreach(Mobile m in tmpArr[0])
    c += m.Name + " ";

我真正想做的是像string.Join(“,”,tmpArr [0]),但我不希望它连接他们的ToString值,只是他们的名字,我怎么能做到最好?

我没有使用string.Join的问题是我实际上必须做这样的事情:

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())

但大多数时间是It. Just. Doesn’t. Matter!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读