gpt4 book ai didi

c# - 根据用户输入检查列表?

转载 作者:行者123 更新时间:2023-11-30 22:31:15 25 4
gpt4 key购买 nike

我正在尝试检查 list 是否包含用户输入的值。用户输入在名为 txtIdtextbox 中,它是一个 int。如果 userId 已经存在于 list 中,它必须从我的类 AlreadyExistingIdException 中抛出异常。

当我这样做时,我收到一条错误消息,提示 Contains() 有一些无效参数:

 private void btnAddClass_Click(object sender, EventArgs e)
{
Classes newClass;
// Open new form to input data
AddNewClass add_form = new AddNewClass();
if (add_form.ShowDialog() == DialogResult.OK)
{
newClass = new Classes();
// Get new data from second form
newClass = add_form.ExtractData();
//check if id already exists in the list
**if (l.fitnessClasses.Contains(newClass.Id))
{
//throw an exception
}
else
{**
// Add the new class to file
l.AddClass(newClass);
lstClasses.Items.Clear();
//sort the list by ID
l.fitnessClasses.Sort((a, b) => a.Id.CompareTo(b.Id));

foreach (Classes cl in l.fitnessClasses)
{
lstClasses.Items.Add(cl); //add to list box
}


// Display new
MessageBox.Show(newClass.Display());
}
}
}

最佳答案

覆盖 Classes 中的 EqualsGetHashCode 方法(因为您的类需要知道如何比较实例,请参阅 msdn如何)然后你可以打电话:

l.fitnessClasses.Contains(newClass); 

或使用 Linq

l.fitnessClasses.Contains(p=> p.Id == newClass.Id)

关于c# - 根据用户输入检查列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9333116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com