Я изучал библиотеки .NET, используя ILSpy, и нашел определение класса 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?
Я знаю, что списки безопасны по типу и не требуют бокса/распаковки, но это немного смутило меня.