我在这个项目中工作了两天,我找不到我做错的地方。如果你能帮助我,我真的很感激。问题是当我输入11111为我的策展人ID并保留名称Box Empty,不保存保存策展人ID。如果我在框中输入内容并输入11111作为策展人ID,则表示" ID已经存在,请再试一次"
private void SaveCuratorBtn_Click(object sender, RoutedEventArgs e)
{
curator Curator = new curator();
try
{
Curator.ID = CuratorIDbox.Text;
bool sameid = false;
for (int i = 0; i < curatorlist.Count; i++)
{
if (curatorlist[i].ID == Curator.ID)
{
sameid = true;
break;
}
}
if (sameid)
MessageBox.Show("ID already exist please try again !");
else
{
curatorlist.add(Curator);
}
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
try
{
bool checkingname = false;
Curator.NAME = CuratorNamebox.Text;
checkingname = true;
if (checkingname)
{
MessageBox.Show("Curator Saved");
}
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
}
答案 0 :(得分:3)
if (sameid)
{
MessageBox.Show("ID already exist please try again !");
}
else
{
curatorlist.add(Curator);
}
此代码块正在执行以下操作:
如果ID已存在,则显示错误(好!)
如果该ID不存在,将整个馆长添加到curatorlist
。
您需要的是在代码中验证的另一个步骤,以确保name
文本框和ID
文本框包含信息。您可以这样做(当然替换名称):
else
{
if(string.IsNullOrEmpty(NameTextbox.Text) || string.IsNullOrEmpty(IdTextbox.Text)
{
MessageBox.Show("Uh oh!")
} else {
curatorlist.add(Curator);
}
在考虑将Curator添加到curatorlist
之前,您要检查文本框是否为空。如果您需要进行其他检查(例如[1,2,3,4]
中没有数字NameTextbox
),则有多种方法可以执行此操作。
答案 1 :(得分:1)
你说&#34;当我输入11111作为我的馆长ID并保留名称Box Empty时,不应该保存策展人ID&#34 ;;但是您提供的示例代码中没有任何内容可以防止这种情况发生。那可能是你想要的;但你还没有这样编码:&#34; curatorlist.add(策展人);&#34;无论名称框中的内容是什么,都会将策展人添加到集合中。
P.S。考虑使用字典,因为查找会更快。