不包含在ObservableCollection中

时间:2017-10-20 00:12:27

标签: c# .net for-loop xamarin observablecollection

你好我整晚都在破坏我的头脑,我知道我错过了一些简单的事情。请帮助!

我有一个名为' TakenSlots'的可观察集合。我想看看它不包含什么整数。

当我使用普通的contains()方法但它没有使用!contains()方法返回任何内容时它工作正常。

            int y =1;
            foreach(item in TakenSlots)
            {
              if (!(TakenSlots.Contains(y)))
              {
                await DisplayAlert("Alert",y.ToString(),"Ok");
              }
               y++;
            }

2 个答案:

答案 0 :(得分:0)

你使用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

答案 1 :(得分:0)

解决! 由于某种原因,它不适用于foreach循环。

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


            }