Which Equal is better ?

  • 838
  • 0
  • C#
  • 2013-06-15

摘要:[C#] Which Equal is better ?

我們常常會使用到Equal方法 , 可是下列哪種Equal方法會比較好呢?


            string content = "test";

            一.
            if (content .Equals("test"))
            {
                Response.Write("ok");
            }
            
            二.
            if ("test".Equals(content))
            {
                Response.Write("ok");
            }

其實這兩段就算經過ILSpy編譯過其實都與原來並沒有什麼差異 , 如下:

                        


	string content = "test";
        
   一.
	if (content .Equals("test"))
	{
		base.Response.Write("test");
	}
        
   二.
	if ("tt".Equals(content ))
	{
		base.Response.Write("test");
	}

    但是第二個作法在某種情況下會是比較好的作法 , 

 

    若今天是 content 變數若是Null 呢?

    


    string content = null;
        
   一.
	if (content .Equals("test"))
	{
		base.Response.Write("test");
	}

   二.
	if ("tt".Equals(content ))
	{
		base.Response.Write("test");
	}

   

          第一個作法一定會馬上跑出 Null Reference 的 Exception , 

 

          只是換個作法 , 就能有更多的好處!