"" 和string.empty的区别

来源:互联网 发布:淘宝卖书需要什么证 编辑:程序博客网 时间:2024/04/30 12:49


string a="";
string b=String.Empty;
Console.WriteLine(a.Equals(b));
返回的是True


******************************************

lucky0504说的没错。
因为String s = "";
这个""相当于new了一个实例,再把这个实例赋值给s,也就是说这句话引用了两个实例。
用String.Empty比""好的多。


******************************************
如果朋友不信,我们可以再来做一个测试,代码如下。

static void Main(string[] args)
{
String CountStr1;
String CountStr2;
DateTime dateStr1 = System.DateTime.Now;
for (int i = 0; i < 9999999; i++)
CountStr1 = "";
DateTime dateStr2 = System.DateTime.Now;
long StrResult = dateStr2.Millisecond - dateStr1.Millisecond;
Console.WriteLine("用引号赋值9999999次耗时:" + StrResult.ToString() + "耗秒。");


DateTime dateInt1 = System.DateTime.Now;
for (int i = 0; i < 9999999; i++)
CountStr2 = String.Empty;
DateTime dateInt2 = System.DateTime.Now;
long IntResult = dateInt2.Millisecond - dateInt1.Millisecond;
Console.WriteLine("用String.Empty赋值9999999次耗时:" + IntResult.ToString() + "耗秒");
Console.ReadLine();
}


一个简单的测试,看赋值""和引用静态String.Empty所用的耗时,如果没效果,就把9999999改大点。(这里我直接用耗秒计算,没有对耗秒1000变一秒的地方进行处理,但也能看见明显的效果)

 

原创粉丝点击