我尝试使用添加按钮和一些信息文本框创建表单。单击“添加”按钮时,应读取文本框中给出的所有信息,并在列表视图和树视图中显示。这是我的添加按钮点击事件代码。
private void btnAdd_Click(object sender, EventArgs e)
{
if(txtBYear.Text == "" ||
txtGender.Text == "" || txtMSSV.Text == "" ||
txtName.Text=="" || cBoxClasses.Text == "")
{
MessageBox.Show("Missing information!", "Error");
return;
}
if (txtGender.Text !="Female" || txtGender.Text!="Male")
{
MessageBox.Show("Male or Female only!", "Error");
return;
}
var mssv = txtMSSV.Text;
var name = txtName.Text;
uint bYear;
bool gender;
var addr = txtAddress.Text;
uint cl = (uint)cBoxClasses.SelectedValue;
var clName = cBoxClasses.SelectedText;
if (txtGender.Text == "Female")
gender = true;
else
gender = false;
if (uint.TryParse(txtBYear.Text, out bYear))
{
MessageBox.Show("Incorrect Birth Year!", "Error");
return;
}
var newStudent = new Student(cl, mssv, name, bYear, gender, addr);
Classes x;
if(classes.GetClassesById(cl, out x))
{
x.AttendingStudents.Add(newStudent);
}
else
{
var tmp = new Classes(cl, clName);
classes.Add(tmp);
tmp.AttendingStudents.Add(newStudent);
}
lViewMain.Update();
tViewMain.Update();
}
我尝试输入"女性"在txtGender文本框中执行按钮单击,但我的比较返回true
,这会弹出Messagebox
。
为什么我的支票textGender.Text != "Female" ||txtGender.Text != "Male"
会返回该意外值?
答案 0 :(得分:1)
代码执行您告诉它的操作。您的情况textGender.Text != "Female" ||txtGender.Text != "Male"
表示"如果文字不是'女性'或者文字不是“男性”。
因为它不是“男性”,所以它会进入if块。您需要的是&&
运算符
请尝试使用以下条件
textGender.Text != "Female" && txtGender.Text != "Male"
答案 1 :(得分:0)
||
运算符表示'或',如果其中一个语句为真,则返回true。
textGender.Text != "Female"
返回false
txtGender.Text != "Male"
返回true
这意味着textGender.Text != "Female" || txtGender.Text!= "Male"
会返回true
答案 2 :(得分:0)
应该是
if (txtGender.Text !="Female" && txtGender.Text!="Male")
{
MessageBox.Show("Male or Female only!", "Error");
return;
}
因为,当文字不是女性而不是男性时,你会抛出一个错误,如果它是其中任何一个,那么让它通过
答案 3 :(得分:0)
textGender.Text != "Female" ||txtGender.Text != "Male"
如果txtGender.Text
为"Female"
,txtGender.Text != "Male"
成为真,则属实
你想要的是
!(textGender.Text == "Female" ||txtGender.Text == "Male")
或者
textGender.Text != "Female" && txtGender.Text != "Male"