当涉及到表单上的文本框时,这总是让我感到困惑.我知道a string可以是null或者String.Empty,但是可以是文本框吗?
根据我的理解,一旦创建控件,它就会自动包含"文本"(我使用引号,因为虽然字段中可能没有文本,但字段存在).
因此,如果创建了一个文本框,TextBox.Text == null并且它TextBox.Text == String.Empty是假的?
或者这不是真的,因为TextBox.Text是一样的string?
来自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)