我有一个文本框,想要检查它是否为空。
哪种方法更好呢?
if(TextBox.Text.Length == 0)
或者
if(TextBox.Text == '')
?
我有一个文本框,想要检查它是否为空。
哪种方法更好呢?
if(TextBox.Text.Length == 0)
或者
if(TextBox.Text == '')
?
您应该使用String.IsNullOrEmpty()
来确保字符串既不为空也不为null(不知怎么的):
if (string.IsNullOrEmpty(textBox1.Text))
{
// Do something...
}
更多示例在此处.
为了实际目的,您可能还需要考虑使用String.IsNullOrWhitespace()
,因为期望输入为空格的文本框可能会否定任何目的,除非在让用户选择自定义分隔符的情况下。
string.IsNullOrEmpty(TextBox.Text)
或者
string.IsNullOrWhiteSpace(TextBox.Text)
string.IsNullOrWhitespace
可能更好,因为它符合大多数人对“空”的理解。 - Steven RandsTextBox
中是否有文本。实际上,它会向下传递到CollectionView.IsEmpty
(而不是字符串属性)来提供答案。这是一个文本框水印的示例,在其中显示了两个文本框(一个编辑文本框和一个带有水印文本的文本框)。第二个文本框(水印文本框)的样式将绑定到主文本框上的Text
,并相应地打开/关闭。<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=tEnterTextTextBox, Path=IsKeyboardFocusWithin}" Value="False" />
<Condition Binding="{Binding ElementName=tEnterTextTextBox, Path=Text.IsEmpty}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger>
<DataTrigger Binding="{Binding ElementName=tEnterTextTextBox, Path=IsKeyboardFocusWithin}" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tEnterTextTextBox, Path=Text.IsEmpty}" Value="False">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
ButtonClick
事件或任何事件中://Array for all or some of the TextBox on the Form
TextBox[] textBox = { txtFName, txtLName, txtBalance };
//foreach loop for check TextBox is empty
foreach (TextBox txt in textBox)
{
if (string.IsNullOrWhiteSpace(txt.Text))
{
MessageBox.Show("The TextBox is empty!");
break;
}
}
return;
这里有一个简单的方法
If(txtTextBox1.Text ==“”)
{
MessageBox.Show("The TextBox is empty!");
}
另一种方式:
if(textBox1.TextLength == 0)
{
MessageBox.Show("The texbox is empty!");
}
Farhan 的回答是最好的,我想补充一点,如果你需要同时满足这两个条件,可以添加 OR 运算符,像这样:
if (string.IsNullOrEmpty(text.Text) || string.IsNullOrWhiteSpace(text.Text))
{
//Code
}
string
和 String
之间的区别。string.IsNullOrWhiteSpace
检查了 string.IsNullOrEmpty
检查的所有内容。来自 MSDN 的说明:“String.IsNullOrWhiteSpace:指示指定的字符串是否为 null、空或仅由空格字符组成。”。此外,由于 string 是 System.String 的别名,除非它们决定以影响此问题的方式更改 String 的实现,否则它们之间没有区别。编辑:通常鼓励使用别名,但这并不意味着有区别。 - Manuel Hoffmannstring.isNullOrWhiteSpace
进行验证就足够了,因为它还会检查null或empty。此外,我尝试了两个函数都使用'\u00A0'(不间断空格),但都没有“抛出异常”。所以我看不到您的观点。您能进一步解释吗? - Manuel Hoffmannstring.IsNullOrWhiteSpace
中的空格字符。您还有其他无法被识别为空格的不可打印字符的示例吗? - Manuel Hoffmann在我看来,检查文本框是否为空以及是否只包含字母的最简单方法是:
public bool isEmpty()
{
bool checkString = txtBox.Text.Any(char.IsDigit);
if (txtBox.Text == string.Empty)
{
return false;
}
if (checkString == false)
{
return false;
}
return true;
}
if(TextBox.Text == "")
更好,因为Text可能为null。 - M.kazem Akhgaryif (string.IsNullOrEmpty(TextBox.Text))
。 - Smurfie