Sam*_*mbo 11 .net c# list equals
我正在创建一个派生自List的类...
public class MyList : List<MyListItem> {}
我已经覆盖了MyListItem的Equals ...
public override bool Equals(object obj)
{
MyListItem li = obj as MyListItem;
return (ID == li.ID); // ID is a property of MyListItem
}
Run Code Online (Sandbox Code Playgroud)
我想在MyList对象中也有一个Equals方法,它将比较列表中的每个项目,在每个MyListItem对象上调用Equals().
简单地打电话会很好...
MyList l1 = new MyList() { new MyListItem(1), new MyListItem(2) };
MyList l2 = new MyList() { new MyListItem(1), new MyListItem(2) };
if (l1 == l2)
{
...
}
Run Code Online (Sandbox Code Playgroud)
...并按值完成列表的比较.
什么是最好的方式......?
bka*_*aid 27
您可以在列表中使用SequenceEqual linq方法,因为您的列表实现了IEnumerable.这将验证所有元素是否相同且顺序相同.如果订单可能不同,您可以先对列表进行排序.
| 归档时间: |
|
| 查看次数: |
13303 次 |
| 最近记录: |