使用Linq
回答
我不認爲你可以在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;
}
你想要什麼?
將兩個列表與任意元素的順序進行比較。
以下是通用代碼:
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)的
將工作對所有類型的'默認Comparer',在案件類型複雜,那麼就需要明確的'IEqualityComparer' –
爲什麼反對票,在-至少說明基本的禮貌來解釋,我確信下選民具有零想法關於編碼只是關於業務。我挑戰,告訴我代碼有什麼問題,這將回答OP問題100%。至少表現出最低限度的禮貌。 –
我認爲他們因爲你沒有顯示出一些努力就直接回答OP,所以他們反對票。 –
不故作得到這個作爲回答,但對於未來的人來說,this應該工作:
enumerable1.SequenceEqual(enumerable2);
- 1. 使用LINQ排序DataRow []使用LINQ
- 2. 使用LINQ刪除空列使用LINQ
- 3. 使用Linq的不同行使用Linq
- 4. 使用LINQ C#
- 5. 使用LINQ
- 6. 組,使用LINQ
- 7. 使用LINQ
- 8. 使用LINQ
- 9. 使用LINQ
- 10. C# - 使用LINQ
- 11. 使用linq
- 12. 使用LINQ
- 13. 使用LINQ
- 14. 使用LINQ
- 15. 使用LINQ
- 16. 凡使用LINQ
- 17. 使用LINQ
- 18. 使用LINQ
- 19. 使用LINQ
- 20. 使用LINQ
- 21. 使用Linq
- 22. 使用LINQ
- 23. 疏使用LINQ
- 24. 使用LINQ
- 25. 使用LINQ
- 26. 使用LINQ
- 27. 使用LINQ .NET
- 28. 使用LINQ
- 29. 使用LINQ
- 30. 使用LINQ
請定義你的問題是什麼。 – c0d3b34n
我們需要更多關於你所要求和努力實現的內容。此外,您的代碼示例不會傷害 –
驗證我的回答如果這樣的作品,然後接受或我會刪除,它沒有樂趣有無意義下來選民向下投票了正確的答案 –