我有3个方法应该返回相同的数据。数据是MyObjectModel
的列表,我想检查这三个列表是否包含相同的数据。我想在json中序列化3个列表中的每一个,并计算字符串的长度是否全部相同。比较对象列表
有没有更好的方法?
谢谢。
我有3个方法应该返回相同的数据。数据是MyObjectModel
的列表,我想检查这三个列表是否包含相同的数据。我想在json中序列化3个列表中的每一个,并计算字符串的长度是否全部相同。比较对象列表
有没有更好的方法?
谢谢。
if(list1.SequenceEqual(list2) && list2.SequenceEqual(list3)) {
...
}
您可能需要使用一个HashSet来做到这一点。
首先将第一个列表中的所有项目添加到HashSet中。
然后,您迭代第二个列表,询问HashSet是否包含该项目。
如果所有都包含在那里,那么它们包含相同的元素。所有的
例
var list1 = new string[] { "A", "B", "C" };
var list2 = new string[] { "B", "A", "C" };
var list3 = new string[] { "C", "B", "A" };
var hs = new HashSet<string>(list1);
if (list2.All(x => hs.Contains(x)) && list3.All(x => hs.Contains(x)))
{
}
var isEqual=List<type>.Equals(List1,List2)
var allEqual= isEqual && List<type>.Equals(List1,List3)
首先,你需要确定这是什么意思2个对象相等。所有字段相同,ID相同等。然后,您可以查看实现http://msdn.microsoft.com/en-us/library/4d7sx9hd.aspx或http://msdn.microsoft.com/en-us/库/ ms131187.aspx –