C#で空文字列を判断する3つの方法の性能分析


3つの方法は、次のとおりです.
 
string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0)
3つの方法はいずれも等価であるが,果たしてその方法の性能が最も高いのだろうか.私は実験で問題を説明する.3つのaspxページを作成する(なぜWebページを使用するのか、主にMicrosoft Application Center Testを利用する)
WebForm1.aspx
private void Page_Load(object sender, System.EventArgs e)
  {
   string a="";
   for(int i=0;i<=1000000;i++)
   {
   if(a=="")
    {
    }
   }
  }

WebForm2.aspx
private void Page_Load(object sender, System.EventArgs e)
  {
   string a="";
   for(int i=0;i<=1000000;i++)
   {
    if(a==String.Empty)
    {
     
    }
   }
  }

WebForm3.aspx
private void Page_Load(object sender, System.EventArgs e)
  {
   string a="";
   for(int i=0;i<=1000000;i++)
   {
    if(a.Length==0)
    {
    }
   }
  }

 
MicrosoftApplication Center Testの下で3つの圧力試験項目を確立した3つの方法試験の結果は98105168:方法結果if(a=="")98 if(a==String.Empty)105 if(a.Length=0)168であった.
 
ではなぜif(a.Length==0)が一番速いのでしょうか.整数判定が最も速いので,インスタンス化など複雑な過程はない.したがって、文字列が空用if(a.Length=0)であるかどうかを判断することをお勧めします.