代码之家  ›  专栏  ›  技术社区  ›  user6221300

不包含在ObservableCollection中

  •  0
  • user6221300  · 技术社区  · 7 年前

    嗨,我整晚都在头痛,我知道我错过了一些简单的事情。请帮忙!

    当我使用normal contains()方法时,它可以正常工作,但不会返回任何带有!contains()方法。

                int y =1;
                foreach(item in TakenSlots)
                {
                  if (!(TakenSlots.Contains(y)))
                  {
                    await DisplayAlert("Alert",y.ToString(),"Ok");
                  }
                   y++;
                }
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Jason    7 年前

    您使用 DisplayAlert 是把你甩了-要么因为你不在主线程上而不起作用,要么有其他问题,但是如果你使用一个简单的 WriteLine 声明它按预期工作

    ObservableCollection<int> data = new ObservableCollection<int>();
    
    data.Add(1);
    data.Add(2);
    data.Add(4);
    
    Console.WriteLine(!data.Contains(1));
    Console.WriteLine(!data.Contains(2));
    Console.WriteLine(!data.Contains(4));
    Console.WriteLine(!data.Contains(5));
    

    退货

    false
    false
    false
    true
    
        2
  •  0
  •   user6221300 user6221300    7 年前

    解决了的!

     for (int i = 1; i <= 8; i++)
                {
    
    
                    if (!(TakenSlots.Contains(i)))
                    {
                        await DisplayAlert("Alert", "does not contain " + i, "Ok");
                    }
                    else
                    {
                        await DisplayAlert("Alert", "does contain " + i, "Ok");
                    }
    
    
                }