首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教这两种写法,哪个效率比较高

2012-01-20 
请问这两种写法,哪个效率比较高?StringNoteId//....StringuserName//....写法一:strSqldeletefromad

请问这两种写法,哪个效率比较高?
String   NoteId   =   //....;
String   userName   =   //....;

写法一:
strSql   =   "delete   from   admin ";
strSql   =   String.Concat(strSql,   "   where   id   =   ",   NoteId);
strSql   =   String.Concat(strSql,   "   and   UserName   =   ' ",   userName,   " ' ");

写法二:
strSql   =   "delete   from   admin   where   id   =   {$id}   and   UserName   =   '{$UserName} ' ";
this.SqlStr   =   this.SqlStr.Replace( "{$id} ",   NoteId);
this.SqlStr   =   this.SqlStr.Replace( "{$UserName} ",   userName);

为了公平,所以写法一二都是用了三个句子写成,请问写法一和写法二,哪个效率高点?

[解决办法]
^^|| lz的想法真好
[解决办法]
差不多吧。也许写法一略高一点,不过相信其差别就算是连续运行一千次也是可以忽略不计的。

[解决办法]
个人感觉第一个效率高.replace的按顺序查找
[解决办法]
都差不多,不过对于这种情况我一般用Format来做,比如:
strSql = "delete from admin where id = {0} and UserName = '{1} ' ";
strSql = string.Format(strSql, NoteId,userName);
[解决办法]
如果UserName里面有单撇号呢? 这么处理会不会有问题?

我都是用存储过程做的
[解决办法]
测试:
循环9000次

1:2秒
2:6秒

菜鸟不懂

楼下的解释下
[解决办法]
是900000次循环
[解决办法]
我也和hbxtlhx一样,喜欢用string.Format
[解决办法]
这种情况基本都是String.Format来解决。没太考虑到底谁的效率更高。
[解决办法]
采用@参数方式更好点
[解决办法]
hbxtlhx(平民百姓)的方法,我喜欢。
[解决办法]
用stringBuilder再测试一下看看。
[解决办法]
区别不大
[解决办法]
就这两种,我个人倾向与第二种

实际使用中用参数和存储过程
[解决办法]
hbxtlhx(平民百姓)的方法,我喜欢。
[解决办法]
都一样,一个sql还用效率高不高,2个字符串相加效率高
[解决办法]
第二个当然慢 因为Replace要有一个查找匹配的过程
string.Format 也应该不会快于第一个,内存分配次数也> =2
平民大哥 string.Format 的原理是什么?能给说说吗?(很感兴趣)

热点排行