嗨,我一直试图解决这个问题一段时间,但我自己也搞清楚了。
我正在尝试将新的“客户”添加到列表中,但新客户所拥有的ID不能与已添加到列表中的ID相同。
我一直试图用.Any
方法做到这一点,但我想我在某个地方犯了错误..
if (AllCustomers.Any(x => x.id != pNewCustomer.id))
{
// Add customer here
}
答案 0 :(得分:1)
您需要.All
方法。
如果你有:
var list = new int[] {1, 2, 3};
list.Any(x => x != 2); // TRUE because 1 != 2
list.All(x => x != 2); // FALSE
答案 1 :(得分:1)
条件测试AllCustomers列表中是否有任何客户的价值与新客户不同。
你想要的条件是
if (!AllCustomers.Any(x => x.id == pNewCustomer.id))
{
// Add customer here
}
答案 2 :(得分:0)
if (AllCustomers.Any(x => x.id == pNewCustomer.id))
{
// already exists. Do not add
}
else
{
AllCustomers.Add(pNewCustomer);
}
答案 3 :(得分:0)
请勿使用Any
,请使用All
:
if (AllCustomers.All(x => x.id != pNewCustomer.id))
{
// Add customer here
}
答案 4 :(得分:0)
您需要做的就是:
if (!AllCustomers.Any(x => x.id == pNewCustomer.id))
{
// Add customer here
}
请注意!=(不等于)已被==(等于)替换,条件本身被反转!在开始。