我有两个文本框,如果用户没有输入任何信息并且它们为空,我想显示错误消息。 我有这个代码(但只适用于一个):
if (String.IsNullOrEmpty(textBox1.Text))
{
var dialog = new MessageDialog("Error");
await dialog.ShowAsync();
}
我试过这个,但它不起作用:
if (String.IsNullOrEmpty(textBox1.Text || textBox2.Text))
{
var dialog = new MessageDialog("Error");
await dialog.ShowAsync();
}
答案 0 :(得分:4)
此条件对||
运算符无效,因为||
运算符期望boolean作为其操作数。
String.IsNullOrEmpty(textBox1.Text || textBox2.Text)
所以这应该抛出错误说
运营商' ||'不能应用于' string'类型的操作数和'字符串'
如果要在任何文本框为空时显示错误消息:
String.IsNullOrEmpty(textBox1.Text) || String.IsNullOrEmpty(textBox2.Text)
如果要在两个文本框都为空时显示错误消息:
String.IsNullOrEmpty(textBox1.Text) && String.IsNullOrEmpty(textBox2.Text)
答案 1 :(得分:2)
性能较差但有趣的是其他思维方式(并且可能会帮助您以相同的方式解决其他非字符串相关任务)您可以将文本框连接(添加)并检查null或Empty。如果两者都是空的,它将执行if块,如果1或两者都有任何文本,它将不会进入if块
if (String.IsNullOrEmpty(textbox1.Text + textbox2.Text))
{
//Stuff
}
这使用逻辑门思考......在本例中为“OR”
答案 2 :(得分:1)
你可以使用它。
if (String.IsNullOrWhiteSpace(textBox1.Text) || string.IsNullOrWhiteSpace(textBox2.Text))
{
var dialog = new MessageDialog("Error");
await dialog.ShowAsync();
}
我优先选择IsNullOrWhiteSpace
而不是IsNullOrEmpty
,因为它会检查字符串是否只包含空格。
您可以根据需要链接任意数量的条件。 ||
代表or和&&
代表和。
答案 3 :(得分:1)
if ((String.IsNullOrEmpty(textBox1.Text) | String.IsNullOrEmpty(textBox2.Text))
这将解决。