摘要:[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 ,
只是換個作法 , 就能有更多的好處!