c# - 这三种清除文本框的方法有什么区别?

标签 c# wpf textbox

我对以下三种清除文本框内容的方法感到困惑。我正在使用 WPF,发现一切正常,但我找不到区别。

有人可以用一些例子向我解释一下吗?

  • txtUserName.Clear();
  • txtUserName.Text = string.Empty;
  • txtUserName.Text = "";

最佳答案

如果不是很深入:

清除:从 TextBox 中删除内容,并可能删除分配给它的资源

    public void Clear()
    {
      using (this.TextSelectionInternal.DeclareChangeBlock())
      {
        this.TextContainer.DeleteContentInternal(this.TextContainer.Start, this.TextContainer.End);
        this.TextSelectionInternal.Select(this.TextContainer.Start, this.TextContainer.Start);
      }
    }

将空字符串(因为 string.Empty 和 ""相等)分配给 Text 属性只是将空字符串分配给附加属性 TextBox.TextProperty:

public string Text
{
  get
  {
    return (string) this.GetValue(TextBox.TextProperty);
  }
  set
  {
    this.SetValue(TextBox.TextProperty, (object) value);
  }
}

关于c# - 这三种清除文本框的方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510656/

相关文章:

c# - EF Code First 一对一和一对多映射

c# - Windows 窗体 - 如何保存和加载游戏?

C# wpf 列表框显示多个成员路径

html - 输入框字体大小不起作用。不知道为什么

c# - .NET - 通过顽固的控制检测鼠标移动

c# - 为什么 Orchard 会自动将字符串编码到 View 中?

c# - WPF TPL 重新启动取消的任务

c# - 从 app.config 配置部分将键值对读入字典

c# - 检查多个面板中的控件

c# - 在文本框中从右到左输入?