为了账号安全,请及时绑定邮箱和手机立即绑定

int类型转换成string类型,转换失败!求解释~求解释~

int类型转换成string类型,转换失败!求解释~求解释~

喵喔喔 2018-12-07 08:19:18
代码如下:    object[] sendData = new object[1024 * 1024];         string sendDatastr = "";            string c = "";      for (int i = 0; i <1024*1024; i++)      {          sendDatastr += (sendData[i] as string);();//sendData[i]中包含1M个uint类型数据           // c = (string)(sendData[i]);//注意:若是加入这句,就会显示强制转换uint到string失败           //sendDatastr+=  sendData[i].Convert.ToString();//这个是正确,但由于效率低的不能接受     }   return sendDatastr; 问题:运行结果是sendDatastr=“ ”,也就是说 (sendData[i] as string)是失败的,为什么呢?求解释啊~
查看完整描述

10 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

用.ToString方法,同时用StringBuilder.Append代替string的相加操作。

查看完整回答
反对 回复 2019-01-21
?
茅侃侃

TA贡献1842条经验 获得超21个赞

既然这么看重效率,为什么uint类型数据用object数组(引起额外的装箱操作)?

既然这么看重效率,为什么要把uint类型数据再全部转换为string?

 

查看完整回答
反对 回复 2019-01-21
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

是滴~您说的很对,我也刚试过了,哈哈~谢谢

查看完整回答
反对 回复 2019-01-21
?
慕的地10843

TA贡献1785条经验 获得超8个赞

@博客园的初学者: StringBuilder也要分情况使用。一般来说循环小于500次的时候,字符串直接相加反而是快的。你可以google关键字“Performance considerations for strings in C#”

顺便说一句,问题解决了的话就把帖结了吧

查看完整回答
反对 回复 2019-01-21
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

需要设置一下StringBuilder的初始容量(大于或等于实际写入的字符数),这样效率会更高

查看完整回答
反对 回复 2019-01-21
  • 10 回答
  • 0 关注
  • 457 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信