我有3个方法应该返回相同的数据。数据是MyObjectModel
的列表,我想检查三个列表是否包含相同的数据。我想在json中序列化3个列表中的每个列表并计算字符串的长度是否都相同。
有更好的方法吗?
感谢。
答案 0 :(得分:6)
if(list1.SequenceEqual(list2) && list2.SequenceEqual(list3)) {
...
}
答案 1 :(得分:0)
您可能希望使用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)))
{
}
答案 2 :(得分:0)
var isEqual=List<type>.Equals(List1,List2)
var allEqual= isEqual && List<type>.Equals(List1,List3)