我有一个用Classes(PlayCard)填充的listView。
我想用cardNumber
计算具有相同值的类
如果listView中的数字超过两次,我希望testBool成为真正的
我已经得到了这个代码:
foreach (PlayCard pCard in listView1.Items)
{
if (listView1.Items.Count(i => i.cardNumber == pCard.cardNumber) > 1)
{
pCard.testBool = true;
}
}
但我收到了一个错误:
'对象'不包含'cardNumber'的定义,没有 扩展方法'cardNumber'接受类型的第一个参数 可以找到'对象'。
class PlayCard
{
public int cardNumber { get; set; }
public int id { get; set; }
public bool testBool = false;
}
答案 0 :(得分:4)
我认为你的listView1是一个对象列表,而Object类没有cardNumber方法。如果您知道对象实际上是PlayCard
个对象,那么演员应该解决问题,即
foreach (PlayCard pCard in listView1.Items)
{
if (listView1.Items.Count(i => ((PlayCard)i).cardNumber == pCard.cardNumber) > 1)
// etc
答案 1 :(得分:1)
ListView控件只包含object
类型的项目。
使用此if
- 声明:
if (listView1.Items.Count(i => ((PlayCard)i).cardNumber == pCard.cardNumber) > 1)
现在应该可以使用了!