将空Textbox.Text读为"",null或String.Empty?

Ben*_*Ben 3 c# string null

当涉及到表单上的文本框时,这总是让我感到困惑.我知道a string可以是null或者String.Empty,但是可以是文本框吗?

根据我的理解,一旦创建控件,它就会自动包含"文本"(我使用引号,因为虽然字段中可能没有文本,但字段存在).

因此,如果创建了一个文本框,TextBox.Text == null并且它TextBox.Text == String.Empty是假的?

或者这不是真的,因为TextBox.Text是一样的string

Dam*_*ith 7

来自TextBox.Text文档

包含文本框文本内容的字符串.默认值为空字符串("").

因此,如果创建一个文本框,TextBox.Text是不是null,它是String.Empty

您无法null为控件文本设置值,Text属性的setter实现如下,根据实现null将转换为empty

  set
  {
    if (value == null)
      value = "";
    if (value == this.Text)
      return;
    .....
Run Code Online (Sandbox Code Playgroud)