C# 即使数组中没有合适的名称,MessageBox也会继续显示
我想有一个C# 即使数组中没有合适的名称,MessageBox也会继续显示,c#,C#,我想有一个MessageBox,如果名称不在数组中,它会弹出,但是当我运行程序时,它显示当我键入名称时,即使名称在数组中,MessageBox仍然会出现 private void Btn1_Click(object sender, EventArgs e) { string name = txtbox1.Text; clsStudent [] students = new clsStudent[5]; students[0] = new clsStudent("Dan",
MessageBox
,如果名称不在数组中,它会弹出,但是当我运行程序时,它显示当我键入名称时,即使名称在数组中,MessageBox
仍然会出现
private void Btn1_Click(object sender, EventArgs e)
{
string name = txtbox1.Text;
clsStudent [] students = new clsStudent[5];
students[0] = new clsStudent("Dan","IT","class1",3.9);
students[1] = new clsStudent("Ben", "IT","class2", 3.8);
students[2] = new clsStudent("Kardi", "IT","class3",2.4);
students[3] = new clsStudent("Shaggy", "IT", "class4", 3.2);
students[4] = new clsStudent("Bernie", " IT", "class5", 2.7);
for (int i = 0; i < students.Length; i++)
{
if(name == students[i].NAME)
{
txtbox2.Text = students[i].COURSE;
txtbox3.Text = students[i].STUDENTCLASS;
txtbox4.Text = students[i].Gpa.ToString();
}
else
{
MessageBox.Show("Name does not exist");
break;
}
}
}
private void Btn1\u单击(对象发送者,事件参数e)
{
字符串名称=txtbox1.Text;
clsStudent[]学生=新clsStudent[5];
学生[0]=新的CLS学生(“Dan”、“IT”、“class1”,3.9);
学生[1]=新的CLS学生(“本”、“IT”、“2班”,3.8);
学生[2]=新CLSSStudent(“卡迪”、“IT”、“3班”、2.4);
学生[3]=新来的CLS学生(“蓬松”、“IT”、“4班”、3.2);
学生[4]=新CLS学生(“伯尼”、“IT”、“5班”、2.7);
for(int i=0;i
查看您正在迭代学生
,并在每次迭代中检查名称
,如果它与将显示的消息不匹配。这就是你经常收到信息的原因。为了避免这种情况,我们可以使用一个布尔变量,每当找到匹配项时,该变量就会设置为true
,我们可以在完成迭代后检查该变量。请参阅下面的代码:
bool isExist = false;
for (int i = 0; i < students.Length; i++)
{
if (name == students[i].NAME)
{
txtbox2.Text = students[i].COURSE;
txtbox3.Text = students[i].STUDENTCLASS;
txtbox4.Text = students[i].Gpa.ToString();
isExist = true;
break;
}
}
if (!isExist)
{
MessageBox.Show("Name does not exist");
}
您需要
中断
当被发现时,您没有。还有其他事情,但与你的实际问题无关。还有,当有同名学生时会发生什么?在5个元素的列表中,这并不重要,但当你找到自己的名字时,你应该从loop@Steve:谢谢你的评论,请查找更新,现在是better@sujithkarivelil如果用户输入ben
你认为会发生什么事呢?@đ!你是指区分大小写的比较吗?这完全取决于OP希望如何执行比较。对于<代码>本<代码>的输入,当前代码将输出为<代码>“名称不存在”为其实现,他需要考虑CASE方法<代码>。ToWORCase](< /代码>)在比较运算符的两侧将解决这个问题。
clsStudent selectedStudent = students.FirstOrDefault(x => x.NAME == name);
if (selectedStudent != null)
{
txtbox2.Text = selectedStudent.COURSE;
txtbox3.Text = selectedStudent.STUDENTCLASS;
txtbox4.Text = selectedStudent.Gpa.ToString();
}
else
{
MessageBox.Show("Name does not exist");
}