我有一个Customer对象的列表,我试图在每个对象中搜索一个名称。在Customer对象中有一个属性ContactData,它返回一个Contact对象。而在Contact对象中,我有一个方法返回一个名字的字符串。正是我试图与之比较的名称,但它不能正常工作,因为我每次都会受到攻击,尽管我搜索的是任何Customer对象中不存在的名称。我正在使用的代码:在对象列表中搜索
foreach (Customer name in m_customers)
{
if (name.ContactData.FullName == "Anna")
{
MessageBox.Show(string.Format("Yes"), "Test!", MessageBoxButtons.OK, MessageBoxIcon.Information); // Just for testing
}
}
我也测试过使用简单for循环,但是我得到了相同的结果。我不确定我做了正确的事情,并会提供一些帮助!谢谢!
在foreach循环中插入一个简单的'console.writeline'调用,以便为循环中的每个项目打印ContactData.FullName。你的变量命名很混乱,你可能想'foreach(客户客户在m_customers中)' – ChristopheD
你是否验证了'm_customers'包含了一个唯一对象列表? – ChrisF
你能解释一下,ChrisF? –