“String.Equals(string)”和“==”那个快?

2016-01-29 13:05 3 1 收藏

“String.Equals(string)”和“==”那个快?,“String.Equals(string)”和“==”那个快?

【 tulaoshi.com - ASP.NET 】


  要比较两个字符串是否相等,有两种方法:

string toBeTested = "67412";
bool result;

result = toBeTested.Equals("67413");

result = toBeTested == "67413";

哪一种方法好呢?

测试程序:
int times = 100000000;
int start, end;
int i;
bool result;
string toBeTested = "67412";

start = System.Environment.TickCount;
for(i=0; i {
result = toBeTested.Equals("67412");
}
end = System.Environment.TickCount;
Console.WriteLine("Equals True Time: " + (end-start)/1000.0 + " Seconds");
start = System.Environment.TickCount;
for(i=0; i {
result = toBeTested == "67412";
}
end = System.Environment.TickCount;
Console.WriteLine("== True Time: " + (end-start)/1000.0 + " Seconds");
start = System.Environment.TickCount;
for(i=0; i {
result = toBeTested.Equals("67413");
}
end = System.Environment.TickCount;

Console.WriteLine("Equals False Time: " + (end-start)/1000.0 + " Seconds");
start = System.Environment.TickCount;
for(i=0; i {
result = toBeTested == "67413";
}
end = System.Environment.TickCount;
Console.WriteLine("== False Time: " + (end-start)/1000.0 + " Seconds");


结果:

Equals True Time: 3.234 Seconds
== True Time: 0.562 Seconds
Equals False Time: 3.391 Seconds
== False Time: 3.891 Seconds

可见当结果为true时,==比Equals()快很多;当结果为false时,Equals()略快于==。
结论:如果要比较的字符串相同的多,就用==;要比较的字符串中不同的多,就用Equals()。

来源:http://www.tulaoshi.com/n/20160129/1488833.html

延伸阅读
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类—— StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类)。那么这个...
代码如下: //string -- const char  string str2ch; str2ch.c_str();    //=============================   //string -- char * //先转为 const char , 然后 转char *    char TargetFile[strlen(TorrentFileNameDown.c_str())];     strcpy(TargetFile,TorrentFileNameDown.c_str());...
标签: Web开发
1、创建一个txt文件 2、将扩展名改为.udl 。(Universal Data Link ) 3、双击这个改名后的文件,会出现一个连接配置向导 4、选择provide,以及其他参数 5、测试连接成功 6、确认 用notepad 打开这个文件 这时候就可以看到自动生成的connect string了 (FROM https://dream4ever.org/)
String : 字符串类型 一、构造函数 代码如下: String(byte[ ] bytes):通过byte数组构造字符串对象。 String(char[ ] value):通过char数组构造字符串对象。 String(Sting original):构造一个original的副本。即:拷贝一个original。 String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。 例如: 代码如下: by...
标签: Web开发
下面介绍Prototype对String对象的扩展部分: 这部分主要为string对象添加了几个很有用的方法: strip(): 去掉字符串两边的空白, 例如"  jj  ".strip()返回"jj" stripTags(): 去掉字符串中的html标签 stripScripts(): 去掉字符串中的javascript代码段 extractScripts(): 返回字符串中的javascript代码,返回数组 eval...

经验教程

745

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部