2012-02-24 3 views
0

違い:テキストボックス間=「」とヌル

TextBox1.Text = null; 

TextBox1.Text = ""; 

間の差が両方クリアであるか、テキストボックスを無効にしますが、特定の違いはありますか?あなたが見ることができるように

public virtual string Text 
{ 
    get 
    { 
     // ... 
    } 
    set 
    { 
     if (value == null) 
     { 
      value = ""; 
     } 

     // ... 
    } 
} 

ので、両方のコントロールにstring.Emptyを割り当てる際にnullstring.Empty結果を渡す:

答えて

4

あなたはリサイズに参照のうえされていると仮定すると、これがILSpyからSystem.Windows.Forms.Controlの抜粋です。

あなたはASP.NET(Webフォーム)に参照のうえする場合は、System.Web.UI.WebControls.TextBoxのこの抜粋からわかるように、同じことが、適用されます。ここで

public virtual string Text 
{ 
    get 
    { 
     string text = (string)this.ViewState["Text"]; 
     if (text != null) 
     { 
      return text; 
     } 
     return string.Empty; 
    } 
    set 
    { 
     this.ViewState["Text"] = value; 
    } 
} 

get一部では、それがためにstring.Emptyを返します。 nullも値です。

私の結論TextBox制御のあなたの毎日の使用のための実用的な違いが存在しないということでしょう。あなたはASP.NET Webフォームを参照していると仮定すると、

0

""は0

nullの長さが実際の文字列、です、何も文字列変数のポイントということを意味します。したがって、値を生成しません。

TextBoxをHTMLにレンダリングすると、違いはありません。

0

TextBox1.TextはTextBoxクラスで使用できるプロパティで、値を割り当てる前にsetter nullチェックが追加されます。いくつかは以下のコードに簡単です。

string txt= string.Empty; 



public string Text 
    { 
     get { 
      return txt; 
     } 
     set 
     { 
      if (string.IsNullOrEmpty(value)) 
      { 
       txt = string.Empty; 
      } 
      else 
      { 
       txt = value; 
      } 
     } 
    } 
関連する問題