我有 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)