当前位置:编程学习 > C#/ASP.NET >>

C#中“Equals”与“==”的速度比较

最初接触C#时就一直疑惑,比较字符串的方法:“Equals”与“==”在比较时性能有什么区别呢?相信这个问题也曾困惑着许多人,那么我们就一起来探讨下:

比较一个string是否等于一个值,最初接触C#的人会这么写:

string myStr = "value";
  
if (myStr.Equals("value"))
{
  
}
  
if (myStr == "value")
{
      
}

然后,会有人笑你很菜,得知把要判断的value写在前面性能高些,要这样写:

string myStr = "value";
  
if ("value".Equals(myStr))
{
  
}
  
if ("value" == myStr)
{
      
}

但或许他也只是从那个笑他很菜的前辈那里得知应该这样写,而正确与否、差别,没有真正自己去测试过。这里先不告诉大家上面“前辈”说的正确与否,我们来测试下:

public class Program
{
    public static void Main(string[] args)
    {
        int time = 100000000;
        int start, end, i;
        bool result;
        string myStr = "thats funny";
  
        Console.Title = "Equals & == test";
  
        /
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,