C# TextBox.Clear()或TextBox.Text=string.Empty
他们之间有什么区别吗?多谢各位C# TextBox.Clear()或TextBox.Text=string.Empty,c#,wpf,C#,Wpf,他们之间有什么区别吗?多谢各位 TextBox.Clear(); TextBox.Text = string.Empty; ---清除() Clear()方法不仅仅是从文本框中删除文本。它删除所有内容并重置文本选择 --字符串。空 出于某种模糊的原因,string.Empty不是常量。这意味着在许多需要编译时常量的情况下,string.Empty甚至不合法。这包括switch语句中的case*块、可选参数的默认值、应用属性中的参数和属性,以及许多其他情况(留给读者)*。因此,在某些常见情况
TextBox.Clear();
TextBox.Text = string.Empty;
---清除()
Clear()方法不仅仅是从文本框中删除文本。它删除所有内容并重置文本选择
--字符串。空
出于某种模糊的原因,string.Empty不是常量。这意味着在许多需要编译时常量的情况下,string.Empty甚至不合法。这包括switch语句中的case*块、可选参数的默认值、应用属性中的参数和属性,以及许多其他情况(留给读者)*。因此,在某些常见情况下,字符串.Empty是不允许的。实际上:不允许。从内部来看,这是一个问题。两者都以完全不同的方式清除文本
我不敢告诉你哪一个更好,但如果你想了解来源,一个重要的区别是使用
TextBox.Clear()
将清除文本框内容,但它将保持所有绑定不变
如果使用TextBox.Text=string.Empty代码>,将覆盖任何现有绑定
例如,如果您使用如下文本绑定:
<TextBox Text="{Binding Path=Description}"></TextBox>
然后必须使用Clear()方法。否则,它将破坏您的绑定。事实上,string.Empty
不是一个常量,这与问题根本没有关系(它是一个静态只读
)。将Text
设置为string.Empty
-实际上-会删除所有concrent并重置选择。它是以不同的方式实现的,是的,但它的作用是相同的