如何将ICollectionView中的元素与字符串进行比较

时间:2016-01-07 08:57:01

标签: c#

我有元素集合,我想比较一个字符串和该集合中的一个元素。

        /// <summary>
        /// Gets or sets measurements collection.
        /// </summary>
        public ICollectionView Measurements
        {
            get { return measurements; }

            set { measurements = value; }
        }

我试图做这个断言,但我不能比较元素:

string searchObject1 = "Measurement1";
Assert.AreEqual(searchObject1, measurementViewModel.Measurements.CurrentItem);

我想在measurementViewModel.Measurements.CurrentItem之前我需要一个演员有谁知道如何将该集合中的元素与字符串进行比较?

2 个答案:

答案 0 :(得分:0)

我认为你可以这样做

 string searchObject1 = "Measurement1";
    Assert.AreEqual(true, String.Compare(searchObject1, 
measurementViewModel.Measurements.CurrentItem.ToString(), false)==0);

 string searchObject1 = "Measurement1";
    Assert.AreEqual(0, String.Compare(searchObject1, 
measurementViewModel.Measurements.CurrentItem.ToString(), false));

答案 1 :(得分:0)

Assert.AreEqual将(最终)通过致电object.Equals进行检查。实际上,CurrentItem的类型为object,此检查正在进行引用检查,而这显然不是真的。

如果您在当前项目的值之后将其字符串化:

Assert.AreEqual(searchObject1, measurementViewModel.Measurements.CurrentItem.ToString())