C#中的你,呵呵

程序写多了,我们会想着怎么样让自己的程序跑得更快,我们的代码怎么设计更规范,那些细节应该注意。

正式写代码有一年多点了,偶尔会看下自己写的代码,总想着自己的代码还可以再好高效,再简洁点,再规范点。

抱着这样的态度,偶尔硬扣自己的代码,呵呵:

StringBuilder str=new StringBuilder()

foreach(dataRow dr in dt.rows)

{

str.append(dr["id"]).append(",");

}

if(str.toString().endWith(",")){

str.remove(str.length-1);

}


看着这段代码,我总是觉得,他还可以继续优化一下,因为这个StringBuilder中的内容数据,可能很大,如果直接ToString()会新建那么一个大的string对象,当然比较占用内存,而且这中间效率可定下降了。总不能有事没事就toString()把数据弄出来看看。

stringBuilder=char[]+API

那么就想,能不能直接访问char[]的最后一个字符就行了,当然,微软在C#下面提供了这样的一个方法,str[index]可以直接访问char[]的数据。这样就避免了创建一个可能很多的string对象。那么上面的代码可以修改:

if(str[str.length-1].equals(',')){

str.remove(str.length-1);

}

代码是很美妙的东西,每每我们去回味我们的这些记忆的东西,总是感觉她就是那么美,越发简单得美。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值