List<T>對于我一直在使用and進行的大規模 Set 操作Union<T>,Intersect<T>.
除了List<T>執行這些 LINQ 集操作,我是否可以將底層集合交換為 aHashSet<T>并立即看到性能改進?
uj5u.com熱心網友回復:
如果底層集合尚未在介面中實作集合操作,那么這些方法都足夠聰明,可以使用O(n)演算法,因此對于大多數用例而言,性能差異不足以擔心。
在 .NET Framework 中,我發現每種方法的基于 LINQPad 的基準測驗存在大約 10% 的差異。
在 .NET 6 中,沒有統計學上的顯著差異。這并不奇怪,因為源代碼Set只是在所有這些方法中使用了內部實作,而不管它給出了什么IEnumerable<>。
- 聯盟
- 除了
- 相交
- 清楚的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/519859.html
標籤:C#表现林克
