我一直在查看使用 ILSpy 的 .NET 库,并且在命名空间中遇到了List<T>
类定义System.Collections.Generic
。我看到该类使用这样的方法:
// System.Collections.Generic.List<T>
/// <summary>Removes all elements from the <see cref="T:System.Collections.Generic.List`1" />.</summary>
public void Clear()
{
if (this._size > 0)
{
Array.Clear(this._items, 0, this._size);
this._size = 0;
}
this._version++;
}
所以,类的Clear()
方法List<T>
实际上是使用Array.Clear
方法。我见过许多其他List<T>
在体内使用 Array 的方法。
这是否意味着List<T>
实际上是一个卧底 Array 或 List 只使用了 Array 方法的一部分?
我知道列表是类型安全的,不需要装箱/拆箱,但这让我有点困惑。