收集和LT;>对象相等的条件不起作用wpf c#

时间:2018-05-06 09:33:57

标签: c#

控件是clsname的集合。要删除setter警告,请删除set;从酒店。所以我们需要逐个添加项目。

public Collection<clsname> Controls
{
    get
    {
        return _controls;
    }
}

Collection<clsName> _controls= new Collection<clsName>();
foreach(UIControl z in _view.Controls)
{
    _controls.Add(z);
}

如果我通过使用下面的.Add()来分配项目1,则总是返回false。当我检查来自两个对象的每个项时它返回true但作为集合对象它失败。

if (controls.Controls == _view.Controls)
{
}

1 个答案:

答案 0 :(得分:2)

Collection<T>不会覆盖==逐项比较,因此您需要自己检查相等性。如果序列很重要,请使用LINQ&#39; SequenceEqual

if (controls.Controls.SequenceEqual(_view.Controls)) {
    ...
}