我有一个用类(PlayCard)填充的listView。
我想为cardNumber计算具有相同值的类
如果该数量大于listView中的两倍,我希望testBool变为true

我已经获得了以下代码:

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;
}

最佳答案

我认为您的listView1是对象列表,并且Object类没有cardNumber方法。如果您知道对象实际上是PlayCard对象,则强制转换应该可以解决问题,即

foreach (PlayCard pCard in listView1.Items)
{

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

关于c# - 如何计算/查找特定的 ListView 项(类)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16760452/

10-09 04:57