如果列表1具有以下属性:{A,B,C}
且列表2具有以下属性{A,C,B},则比较它们应该给出结果"不匹配"。
商品订单也必须相同。
答案 0 :(得分:1)
不是假装将此作为答案,但对于来到这里的未来人员,this应该有效:
{
id: "114898379136253"
leadgen_export_csv_url: "https://www.facebook.com/ads/lead_gen/export_csv/?id=379136253&type=form&source_type=graph_api",
locale: "en_US"
name: "Untitled form 11/7/2017"
status: "ACTIVE"
}
答案 1 :(得分:0)
我认为你不能在Linq中做到这一点......
尝试这样的事情
public bool CompareOrderedLists<T>(List<T> one, List<T> theOther)
{
if(one.Length != theOther.Length) return false;
for(var i = 0; i < one.Length; i++)
{
if(one[i] != theOther[i]) return false;
}
return true;
}
答案 2 :(得分:0)
你想要什么?
比较两个列表,包含任何元素顺序。
以下是通用代码:
internal class GenericListComparer<T>
{
internal static bool Compare(List<T> firstCollection, List<T> secondCollection)
{
return firstCollection.TrueForAll(secondCollection.Contains) &&
secondCollection.TrueForAll(firstCollection.Contains);
}
}
用法:
List<int> aList = new List<int> { 1,2,3,4};
List<int> bList = new List<int> { 1,4,3,2};
bool result = GenericListComparer<int>.Compare(aList,bList); // Matched
bList = new List<int> { 1,4,3,2,5};
result = GenericListComparer<int>.Compare(aList,bList); // Un-Matched
时间复杂度 - O(n)