1

我有一个充满类(PlayCard)的listView。我想计算具有相同值的类cardNumber 如果列表视图中的数字超过两倍我希望 testBool 变为真

我已经得到了这个代码:

foreach (PlayCard pCard in listView1.Items)
{               
    if (listView1.Items.Count(i => i.cardNumber == pCard.cardNumber) > 1)
    {
        pCard.testBool = true;
    }
}

但我有一个错误:

“Object”不包含“cardNumber”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“cardNumber”。

class PlayCard
{
        public int cardNumber { get; set; }
        public int id { get; set; }
        public bool testBool = false;
}
4

2 回答 2

4

我认为您的 listView1 是一个对象列表,并且 Object 类没有 cardNumber 方法。如果您知道对象实际上是PlayCard对象,那么演员应该可以解决问题,即

foreach (PlayCard pCard in listView1.Items)
{ 

    if (listView1.Items.Count(i => ((PlayCard)i).cardNumber == pCard.cardNumber) > 1) 
    // etc
于 2013-05-26T15:08:06.320 回答
1

ListView 控件只包含类型的项目object

使用此if语句:

if (listView1.Items.Count(i => ((PlayCard)i).cardNumber == pCard.cardNumber) > 1)

它现在应该可以工作了!

于 2013-05-26T15:09:04.543 回答