我想比較2個對象expectedItems和resultItems IEnumerable<IDictionary<string, object>>
型但一直沒能做到多用它。如何字典比較平等的列表,在C#
此外,一個字典在代碼中初始化,另一個字典是從外部API的JSON響應中構建的。因爲JSON並不關心對象內屬性的順序,所以排除SequenceEquals
。
我有兩個相等的對象,所有的這些低調的方法失敗,
首先,
CollectionAssert.AreEqual(expectedItems, resultItems)
其次,
var expectedItems = entries.Select(e => e.Serialize()).ToList();
resultItems.Zip(expectedItems,(objects, dictionary) =>
objects.OrderBy(pair =>pair.Key).SequenceEqual(dictionary.OrderBy(pair => pair.Key)))
.Should()
.NotContain(false);
的對象(據我看到的)是平等的。
我目前做錯了任何事情,我可以嘗試,或什麼?
編輯
的API來自這就是爲什麼失敗的時間戳修剪剔計數。 如何修剪expectedItems字典中的時間戳然後比較?所以,集合必須相同,並且時間戳的比較需要被覆蓋。任何人?
是的,我進一步檢查,這是在往返行程中修剪的InternalTicks計數。任何想法如何反擊? – divyanshm
所以檢查是否定義了等於(pt 1) –