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